长话短说,我正在开发 RESTapi,它在 /movies 路由的 POST 请求上获取电影标题,从外部 api 获取有关该电影的信息并将该对象保存到数据库中。在 POST /comments 上,您将评论添加到不同的集合中,但每个评论都有一个具有关联电影的“movie_id”属性。
这是我的第一个更大的项目,所以我正在尝试编写集成测试。
一切都很棒,至少在我看来,除了 3 个奇怪的测试用例突然失败。测试可能连续通过 10 次,然后突然出现奇怪的“玩笑”计时器,并且有 3 个案例失败。
我使用原生 mongodb 驱动程序、express 和 jest 以及 supertest 进行测试,删除测试数据库 BeforeAll 和 AfterEach,我不知道这是什么原因。
Timer thingy:
And after timer this shows up, failed tests:
完整的源代码在这里GITHUB
Other failed cases:
有什么想法、技巧吗?
我遇到了同样的“开玩笑并行测试”问题,我找到了一个解决方案,也许不是最好的,但现在开玩笑在“队列模式”下运行测试,所以当我删除数据时beforeAll
我的下一组测试已准备好使用“新鲜”的新插入数据。
--带内运行
别名:-i.在当前进程中串行运行所有测试,而不是创建运行测试的子进程的工作池。这对于调试很有用。
笑话来源
所以在我的 config.json 中我有:
"scripts": {
"test": "set NODE_ENV=test&& jest ./tests --runInBand --detectOpenHandles --forceExit",
"server": "set NODE_ENV=development&& nodemon app.js"
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)