我想为我的服务器单元测试(而不是摩卡+ chai)使用jest。 有没有一种方法可以在所有测试开始(初始目的)只有一次而不是每个测试文件之前运行异步函数?而且,如果在完成所有测试后还有某种运行方式?Jest在所有测试之前运行异步函数一次
10
A
回答
3
如果用NPM可以执行其他命令
"scripts": {
"test": "node setup.js && jest"
}
所以之前在任何节点命令或任何可执行文件执行开玩笑的测试,现在你也可以用命令
$ npm t
2
玩笑提供beforeAll
并运行此afterAll
。与test
/it
一样,如果函数返回承诺,它将等待承诺解决。
beforeAll(() => {
return new Promise(resolve => {
// Asynchronous task
// ...
resolve();
});
});
它也支持回调风格,如果你有一些现有的测试代码使用回调,虽然它建议使用承诺。
beforeAll(done => {
// Asynchronous task
// ...
done();
});
+0
[Jest'beforeAll'](https://facebook.github.io/jest/docs/en/api.html#beforeallfn-timeout)听起来不错,尤其是re:Promises“如果函数返回一个promise或者是一个generator ,Jest在运行测试之前等待这个承诺解决。“茉莉花是否有相同的?它看起来像茉莉花不*支持承诺,但[*不支持'完成'回调方法?](https://jasmine.github.io/2.1/introduction.html#section-Asynchronous_Support)我特别使用量角器,但'完成'回调不适用于我[如此处所述](https://stackoverflow.com/a/34892316/1175496), –
2
此功能是在Jest's 22 version加入,与globalSetup
和globalTeardown
配置。
相关问题
- 1. 在所有junit测试之前运行一次性异步回调
- 2. 单元测试异步函数与Jest
- 3. 为什么async()在Jest测试中转换为异步函数()?
- 4. 如何依次运行Jest测试?
- 5. 在所有的水豚测试前运行一次
- 6. 在express.js之前运行异步函数开始
- 7. OnceAsync:一次运行f#异步函数一次
- 8. 安卓espresso在运行测试之前登录一次
- 9. 在运行测试之前查找Rspec中的所有标签
- 10. 如何在推送到GitHub之前运行所有测试?
- 11. 在IntelliJ IDEA中运行Jest测试
- 12. 摩卡结束测试在完成所有测试之前运行
- 13. Jest - 试图模拟异步等待在节点Js测试
- 14. 测试在运行element.blur函数之前是否点击按钮()
- 15. JUnit @Parameterized函数在测试套件中的@BeforeClass之前运行?
- 16. 并行运行Jest测试的子集
- 17. 在绝对执行的所有测试之前和之后运行代码
- 18. 在黄瓜运行测试前运行一次代码
- 19. 当存在相邻测试时,摩卡异步测试运行两次
- 20. 在量角器的所有测试套件之前运行一些功能
- 21. 如何在'测试'之前运行“包”
- 22. 在sbt-native-packager之前运行测试
- 23. 用TFS 2015运行Jest单元测试
- 24. VS2010负载测试:如何执行在每次负载测试之前运行一次的自定义操作
- 25. 如何在每次“lein测试”之前运行Clojure代码?
- 26. TeamCity测试可以异步运行
- 27. 如果一次测试没有失败,则运行所有测试
- 28. 我可以在所有测试之前/之后执行操作
- 29. UI线程在android中运行异步类之前运行
- 30. 如何在maven surefire运行测试之前执行一次方法
谢谢,但我一直在寻找Jest解决方案。就像摩卡允许你在全球范围内放置BeforeAll一样,我希望Jest有类似的东西。 – Roy
虽然这个解决方案没问题,但这不会在'--watch'模式下运行。有没有任何Jest解决方案? – Wajahath