如何在Netbeans测试结果窗口中将单元测试标记为跳过? (C ++)

时间:2014-01-24 12:28:07

标签: c++ unit-testing netbeans ide

tl; dr:我正在使用netbeans编写一个C ++项目,我正在寻找一种方法将单元测试标记为跳过。

详细说明:

我正在使用Netbeans IDE进行C ++开发。添加单元测试(步骤here)时,IDE会生成C ++代码,其输出如下所示:

%SUITE_STARTING%
%SUITE_STARTED%
%TEST_STARTED% time=0 testname (suitename)
%TEST_FAILED%
%TEST_FINISHED%
%SUITE_FINISHED%

这是Netbeans很好地解析并显示在测试结果窗口中的输出格式。

我已经使用单元测试类和测试套件类更新了我的测试代码,这些类动态地生成了这个输出,并且它可以工作。

我的问题是我想将单元测试标记为“跳过”(如未成功,未成功,未成功,未执行)。这有多种原因(在实现它们之前指定测试,跳过测试,因为它被已知缺陷阻止等)。

问题:这是否受IDE支持(测试结果窗口有一个“show skipped tests”按钮,但据我所知没有效果),以​​及代码应为哪个输出令牌生成测试被“跳过”? (我已尝试%TEST_SKIPPED%%TEST_SKIPPED% testname,但测试结果窗口只是忽略该行。

1 个答案:

答案 0 :(得分:0)

tl; dr IDE不支持开箱即用,为了使其正常工作,您至少需要修补IDE。

详细信息:

根据here,Netbeans确实支持跳过的测试。

然而,根据here更新UI以解析测试运行器的输出的逻辑不支持跳过测试,无论是否使用内置的Simple Test或CUnit Test。

为了让某些跳过的测试支持工作,您需要生成相关的SkippedTestHandler作为CndUnitHandlerFactory.java的一部分,以及对CodeGeneration的任何其他修改,这些修改是作为Simple Unit Test内置的一部分完成的或者您通过创建自定义模块来添加支持的任何单元测试框架,以遵循说明here

此外,如果您想使用CUnit,您也可以使用类似于here的补丁来支持跳过的测试

相关问题