我使用jasmine来测试我的服务器端代码,我需要以串行方式运行测试,而不是并行运行。
我的测试需要在数据库中进行CRUD操作。如果测试是并行执行的,我无法确保数据库在我的测试中处于良好的上下文中
答案 0 :(得分:0)
除非你明确选择在Jasmine中创建异步测试,否则Jasmine中的所有内容都是按顺序发生的,因为只有在前一个测试完成后才运行一个测试。如果您确实编写了异步测试,那么部分单测试可以并行运行,但是您仍然有一个测试仅在其前一个测试完成后运行的约束。
然而,有几点需要注意:
在异步测试中,如果您的代码超过了Jasmine的超时时间,那么当Jasmine决定放弃该测试并继续执行下一个测试时,您可能仍会运行代码。 (感谢@Gregg提供此技巧;请参阅this answer。)
" JavaScript通常被认为只有一个执行线程......然而,实际上这并不是非常真实的,以偷偷摸摸的方式进行。"我引用了来自this answer的@bobince。