我正在用玩笑来测试我的库,并且在第一层有一个包含多个describe调用的文件,但是当我运行“ npm test”时,它报告: “测试套件:1个通过,总共1个” “测试:26次通过,总共26次”
为什么不报告几个测试套件?
据我所知,jest的describe函数应该创建自己的测试套件,但是以某种方式将它们组合在一起...
通过笑话API, “ describe(name,fn)创建了一个块,将一个测试套件中的几个相关测试组合在一起”
答案 0 :(得分:1)
看来,Jest并没有真正将对describe()
的每个顶级调用都算作一个测试套件。 Jest的GitHub存储库中甚至有open issue将此行为报告为错误。
实际上,正如您所描述的以及此minimal example on repl.it所演示的,对describe()
的两个顶级调用是:
const add = require('./add');
describe('add', () => {
it('should add two numbers', () => {
expect(add(1, 2)).toBe(3);
});
});
describe('add again', () => {
it('should add two numbers', () => {
expect(add(1, 0)).toBe(1);
});
});
被视为一个测试套件:
Jest v22.1.2 node v7.4.0 linux/amd64
PASS ./add-test.js
add
✓ should add two numbers (5ms)
add again
✓ should add two numbers
Test Suites: 1 passed, 1 total
Tests: 2 passed, 2 total
Snapshots: 0 total
Time: 1.025s
Current Jest documentation在出现以下情况时似乎具有误导性:
describe(name, fn)
创建一个块,将一个“测试套件”中的几个相关测试组合在一起