This package has been deprecated

Author message:

jest-context is now a jest plugin. Please install jest-plugin-context instead.

jest-context

2.1.0 • Public • Published

jest-context

npm npm npm CircleCI branch

Adds context as an alternative to describe for jest.

Getting Started

Install jest-context using yarn:

yarn add --dev jest-context

Motivation

RSpec took the ruby world by storm with its declarative method of TDD. In RSpec, describe it used to wrap a set of tests against one functionality while context is to wrap a set of tests against one functionality under the same state.

The difference being you should only describe to test the User model and specifically describe the #name method. However, testing different states of the #name method should use different context. You can view an example of this below.

Usage

If you want, you can import context from jest-context at the top of every test:

import context from 'jest-context';

If you want to install context as a global, you can modify the jest section of your package.json to include:

"jest"{
  "setupFiles": [
    "jest-context/setup"
  ]
}

Example

Here's an example test that uses context:

describe('User', () => {
 
  describe('#name', () => {
    set('firstName', () => 'Harry');
    set('lastName', () => 'Potter');
    set('user', () => new User({firstName, lastName}));
 
    context('with blank first name', () => {
      set('firstName', () => null);
 
      it('should return only the last name', () => {
        expect(user.name).toEqual('Potter');
      });
    });
 
    context('with blank last name', () => {
      set('lastName', () => null);
 
      it('should return only the first name', () => {
        expect(user.name).toEqual('Harry');
      });
    });
  });
});

Readme

Keywords

Package Sidebar

Install

npm i jest-context

Weekly Downloads

479

Version

2.1.0

License

MIT

Last publish

Collaborators

  • deprecated-packages