我从观察中对jest的理解是,它通过生成帮助程序进程提供并发执行测试,并将测试文件分发给工作程序,以便在完成当前测试文件时执行。
这告诉我,jest不会尝试同时在单个测试文件中执行测试。所以我希望以下测试总是通过(无需传递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);
});
});
):
Codename One
即。第二次测试总是在第一次测试完成后运行。这样安全,是否有某个官方文档指明了这种行为?我找不到一个。
答案 0 :(得分:5)
由于这没有正式答案,我在进行了一些进一步的研究/实验(并由其中一位主持人签字)后,在jest文档中添加了一个。
所以,是的,jest按顺序在文件中运行每个测试,等待每个测试完成,然后再移动到下一个文件。现在在Setup and Teardown中描述了这一点。
进一步注意,描述块都是在任何测试块之前执行的。
供参考,实现此功能的代码主要位于jest-circus/src/run.js和event_handler.js。