在我的Mac Cocoa单元测试中,我想输出一些文件作为测试过程的一部分,并在测试完成后删除它们,但只有在没有失败时。如何做到这一点(和/或最简洁的方法)?
答案 0 :(得分:2)
你的问题让我很好奇,所以我调查了一下!
我想我会覆盖类failWithException:
中的SenTestCase
方法(测试运行的类继承自此类),并在调用{之前设置“保存输出文件”标志或其他内容{1}}方法。
以下是SenTestCase.h关于该方法的内容:
super
因此,如果您只使用SenTest宏进行测试和/或失败(在您的情况下可能会这样),那么应该涵盖任何测试失败。
答案 1 :(得分:0)
我从来没有为此编写脚本,但似乎您可以自定义如何调用实际运行测试的脚本来执行此操作。在Xcode 4中,查看测试目标的Build Phases选项卡中的最后一步。我的包含:
# Run the unit tests in this test bundle.
"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"
我没有仔细阅读这个脚本的内容或它在我的机器上插入的许多下标,但可能是他们调用了otest或其他一些测试工具可执行文件,测试结果将返回到该脚本。经过一段时间熟悉这些脚本后,您可能会找到一种根据测试结果有条件地删除输出文件的直接方法。