当前位置:  开发笔记 > 运维 > 正文

单元测试有时会失败,有时会失败

如何解决《单元测试有时会失败,有时会失败》经验,为你挑选了1个好方法。

我有一个摩卡单元测试套件.

当我在本地运行它们时,一切正常.当我在Jenkins CI服务器上运行它们时,它们有时会失败,有时会通过.

我只是无法重现他们失败的原因.什么可能导致这种行为?



1> bryanbcook..:

由于多种原因,测试可能会间歇性地失败,并确定它们失败的原因通常会揭示您的代码库和环境.

以下是一些可能的原因:

•共享对象 - 如果测试环境未重置为众所周知的状态,则保持状态的单例可能会导致测试之间出现问题.如果您的测试运行器以非确定性顺序执行测试,您可能会看到实际暴露出已损坏状态问题的随机错误

•环境和外部依赖关系 - 任何可以保持状态的外部对象都可能导致不可预测的结果

•时间 - 有时测试是使用超时或线程休眠来编写的,这些测试太具体了.如果构建服务器在高负载下运行,则这些超时可能不够长

作为一般指导,测试必须是:

隔离:测试一次关注一个单元

可重复:每次产生相同的结果

独立:执行测试的顺序无关紧要

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有