我对观察中的开玩笑的理解是,它通过产生辅助进程提供并发执行测试,并将测试文件分发给工作程序,以便在完成当前测试文件时执行.
这告诉我,jest不会尝试同时在单个测试文件中执行测试.所以我希望以下测试总是通过(无需传递--runInBand):
describe('counting test', () => {
let variable = 0;
it('should start as 1', () => {
variable += 1;
expect(variable).toEqual(1);
});
it('should change to 2', () => {
variable += 1;
expect(variable).toEqual(2);
});
});
Run Code Online (Sandbox Code Playgroud)
即第二次测试总是在第一次测试完成后运行.这样安全,是否有某个官方文档指明了这种行为?我找不到一个.
由于这没有正式的答案,我在进行了一些进一步的研究/实验(并由其中一位主持人签字)之后,在jest文档中添加了一个.
所以,是的,jest按顺序在文件中运行每个测试,等待每个测试完成,然后再移动到下一个文件.现在在Setup and Teardown中对此进行了描述.
进一步注意,描述块全部在任何测试块之前执行.
作为参考,实现它的代码主要在jest-circus/src/run.js和event_handler.js中.
| 归档时间: |
|
| 查看次数: |
1853 次 |
| 最近记录: |