Skip to content

noExcessiveNestedTestSuites

诊断类别:lint/complexity/noExcessiveNestedTestSuites

¥Diagnostic Category: lint/complexity/noExcessiveNestedTestSuites

自从:v1.6.0

¥Since: v1.6.0

来源:

¥Sources:

此规则强制测试文件中嵌套 describe() 的最大深度。

¥This rule enforces a maximum depth to nested describe() in test files.

为了提高测试中的代码清晰度,规则将嵌套的 describe 限制为 5。

¥To improve code clarity in your tests, the rule limits nested describe to 5.

¥Examples

¥Invalid

describe('foo', () => {
describe('bar', () => {
describe('baz', () => {
describe('qux', () => {
describe('quxx', () => {
describe('too many', () => {
it('should get something', () => {
expect(getSomething()).toBe('Something');
});
});
});
});
});
});
});
code-block.js:6:11 lint/complexity/noExcessiveNestedTestSuites ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Excessive describe() nesting detected.

4 │ describe(‘qux’, () => {
5 │ describe(‘quxx’, () => {
> 6 │ describe(‘too many’, () => {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 7 │ it(‘should get something’, () => {
> 8 │ expect(getSomething()).toBe(‘Something’);
> 9 │ });
> 10 │ });
^^
11 │ });
12 │ });

Excessive nesting of describe() calls can hinder test readability.

Consider refactoring and reduce the level of nested describe to improve code clarity.

¥Valid

describe('foo', () => {
describe('bar', () => {
it('should get something', () => {
expect(getSomething()).toBe('Something');
});
});
describe('qux', () => {
it('should get something', () => {
expect(getSomething()).toBe('Something');
});
});
});

¥Related links