我(最终)让我的应用程序使用 CPPUnit 进行单元测试,并且我让 CruiseControl.NET 运行测试并显示测试输出。但是,我有几个测试总是失败,所以 CruiseControl 总是将构建标记为失败。有什么办法可以“关闭”或“跳过”或“忽略”这些总是失败的测试?我宁愿不只是在源代码中将它们注释掉,因为它们指出了应用程序中的有效错误,我们目前由于业务原因无法修复,但可能能够在未来的版本中解决。如果可能的话,我希望仍然能够运行测试并查看它们的输出,但只是让 CPPUnit 不将它们视为失败(或者甚至在 CruiseControl 级别忽略它们)。
问问题
2998 次
2 回答
1
正如cppunit 食谱中所展示的,您可以将测试组织到测试套件中。我会将“已知失败”的测试放在一个单独的测试套件中。然后,您可以选择何时运行此测试套件以及何时忽略它。
于 2009-11-18T00:26:54.580 回答
0
天,
您不能注释掉 testSuite_* 代码中的各个测试吗?
编辑:对不起,我没有完全解析你的问题。但是 testSuite_ 是一种对以某种方式相关的单个测试进行分组的方法,例如,对于我们正在使用的 LD_PRELOAD 重映射库,我们有几个测试套件,例如
testSuite_access.c
testSuite_acl.c
testSuite_chdir.c
testSuite_chmod.c
...
etc.
将几个测试组合在一起,以执行特定的操作系统命令。
但是考虑一下,并实际阅读您所说的内容(-:,您似乎希望保持 CPPUnit 的功能正常工作而不是使用它,即仍然将测试标记为失败。
所以我建议考虑使用 CruiseControl 的行为来忽略那些已知的故障。甚至可能暂时将它们标记为“可接受”,例如构建的琥珀色状态而不是绿色或红色状态,这两种状态对于您描述的情况都是错误的。
CruiseControl 是非常可配置的,并且在他们的 wiki 上有一个活跃的社区,可以通过他们的主页访问。
高温高压
抱歉,除了建议您修改 CruiseControl 行为而不是使用 CPPUnit 之外,我无法更具体。
于 2009-11-17T23:03:54.473 回答