在我的Mac可可单元测试,我想输出一些文件作为测试过程的一部分,并将其删除当测试完成后,但只有当不存在故障。这怎么做(和/或什么是最干净的方式)?只有在成功的情况下才能在SenTest中运行代码?
3
A
回答
2
你的问题让我好奇,所以我看着它!
我想我会覆盖在类SenTestCase
(你的测试在继承运行此应用类)的failWithException:
方法,并调用super
的方法之前设置“保持输出文件”标志什么的。
这里是SenTestCase.h说,关于该方法:
/*"Failing a test, used by all macros"*/
- (void) failWithException:(NSException *) anException;
所以,只要你只能使用SenTest宏以测试和/或失败(和机会是这是真的你的情况),应涵盖任何测试失败。
0
我从来没有深入到这个脚本中,但它似乎可以自定义如何调用实际运行测试的脚本来执行此操作。在Xcode 4中,查看测试目标的Build Phases选项卡中的最后一步。矿包含此:
# Run the unit tests in this test bundle.
"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"
我还没有通过这个脚本的内容或将其拉在我的机器上的许多标钻研,但想必他们打电话otest或其他一些试验台的可执行文件和测试结果将是返回到该脚本。在熟悉这些脚本一段时间后,您可能会找到一种直接的方式,根据测试结果有条件地删除输出文件。