我用jest测试我的库,在第一层有一个文件,里面有几个描述调用,但是当我运行“npm test”时,它报告:“Test Suites:1 passed,1 total”“Tests:26 passed,26 total”为什么它没有报告几个测试套件?据我所知,jest的describe函数应该创建自己的测试套件,但不知何故,它们都被组合在一起了。在jest API中,“describe(name,fn)创建一个块,将几个相关的测试组合在一个测试套件中”
h7wcgrx31#
看起来Jest并没有真正把对describe()的每个顶级调用都算作一个测试套件。在Jest的GitHub仓库中甚至有一个open issue将此行为报告为bug。实际上,正如您所描述的以及minimal example on repl.it所演示的,对describe()的两个顶级调用:
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
型当前的Jest文档似乎具有误导性,它指出:describe(name, fn)创建一个块,将多个相关测试组合在一个“测试套件”中。
describe(name, fn)
1条答案
按热度按时间h7wcgrx31#
看起来Jest并没有真正把对
describe()
的每个顶级调用都算作一个测试套件。在Jest的GitHub仓库中甚至有一个open issue将此行为报告为bug。实际上,正如您所描述的以及minimal example on repl.it所演示的,对
describe()
的两个顶级调用:字符串
被计为单个测试套件:
型
当前的Jest文档似乎具有误导性,它指出:
describe(name, fn)
创建一个块,将多个相关测试组合在一个“测试套件”中。