Repository URL to install this package:
|
Version:
0.6.0 ▾
|
gateway-proxy
/
usr
/
share
/
gateway-proxy
/
app
/
node_modules
/
eslint-plugin-jest
/
docs
/
rules
/
no-conditional-in-test.md
|
|---|
no-conditional-in-test)💼 This rule is enabled in the following
configs:
all.
Conditional logic in tests is usually an indication that a test is attempting to cover too much, and not testing the logic it intends to. Each branch of code executing within a conditional statement will usually be better served by a test devoted to it.
This rule reports on any use of a conditional statement such as if, switch,
and ternary expressions.
Examples of incorrect code for this rule:
it('foo', () => { if (true) { doTheThing(); } }); it('bar', () => { switch (mode) { case 'none': generateNone(); case 'single': generateOne(); case 'multiple': generateMany(); } expect(fixtures.length).toBeGreaterThan(-1); }); it('baz', async () => { const promiseValue = () => { return something instanceof Promise ? something : Promise.resolve(something); }; await expect(promiseValue()).resolves.toBe(1); });
Examples of correct code for this rule:
describe('my tests', () => { if (true) { it('foo', () => { doTheThing(); }); } }); beforeEach(() => { switch (mode) { case 'none': generateNone(); case 'single': generateOne(); case 'multiple': generateMany(); } }); it('bar', () => { expect(fixtures.length).toBeGreaterThan(-1); }); const promiseValue = something => { return something instanceof Promise ? something : Promise.resolve(something); }; it('baz', async () => { await expect(promiseValue()).resolves.toBe(1); });