我有一个Jenkins作业可以运行多个作业,其中一些是针对我们平台另一部分的单元测试。
其中一项工作就是phpunitTest,它基本上可以确保所有测试都通过并使用Codecept
生成代码覆盖率。
我现在的问题是,如何确保新的代码已被单元测试覆盖?
当前,我正在使用以下命令来运行覆盖范围:
codeception/codeception run unit --coverage-html --quiet
如果推送的代码未经过单元测试,我希望测试会失败。
答案 0 :(得分:0)
除非Codecept对此有特殊(和不同寻常)的工具,基本上有两种方法:实现100%的覆盖率,并验证每次运行或强制迈向100%的覆盖率。由于大多数项目甚至都没有达到100%的覆盖率(这与覆盖所有基础完全不同;例如,请参见SQLite以了解为什么100%仅仅是开始),我假设后者。在这种情况下,您可以做的是
通过这些简单的方法,您自然会确保添加的每段代码都会增加代码覆盖率。
这不能保证每个新代码都被100%覆盖;为此,您将必须分析覆盖率检查器结果,并查看是否有新文件或更改过的文件被提及为缺少覆盖率。