【发布时间】:2022-02-02 19:40:56
【问题描述】:
我有一个 Mocha 集成测试作为 Node 测试脚本的一部分。合并新功能后,测试在本地发布分支上一致通过。在将代码合并到 master 并尝试在不同的环境(我们称之为 env B)上构建 Jenkins 作业后,相同的测试在该环境中始终失败。
测试包含一个Chai shallowDeepEqual assertion。测试失败是因为(出于某种原因)预期结果和实际结果的项目顺序不同。显然,编辑断言不是一种选择。
我尝试过的:
- 本地运行npm install,确实修改了一些包,但对测试没有影响
- 检查了本地和 env B 上的节点版本。将本地版本更改为 env B 上使用的版本(我使用 nvm,节点版本是 v12 LTS)对测试没有影响。
经过一番挖掘,我发现问题可能与Jenkins caching有关,但我没有发现在构建之前强制清除缓存的简单方法。
【问题讨论】:
标签: node.js jenkins caching automated-tests mocha.js