SenTestObserver的设计方式是,创建向控制台输出测试数据的对象可能比必要更困难。
Transcript通过允许开发人员创建符合TSCReporter的对象,并将其分配给[TSCObserver setActiveReporter:]
来简化这一过程。就是这样。
Transcript默认使用TSCTidyReporter,它会删除OCUnit通常输出到控制台的大量不必要杂乱。
以下测试用例
@implementation SomeTests
- (void)testGasIsOn {}
- (void)testEggsAreFlipped
{
[NSException raise:NSInternalInconsistencyException format:@"failed to find eggs"];
}
- (void)testBaconIsCooked {}
- (void)testSausagesAreCooked {}
- (void)testToastIsReady {}
@end
将生成以下测试输出
SomeTests started.
-[SomeTests testBaconIsCooked]
[F] -[SomeTests testEggsAreFlipped]
-[SomeTests testGasIsOn]
-[SomeTests testSausagesAreCooked]
-[SomeTests testToastIsReady]
[F] -[SomeTests testEggsAreFlipped]
Unknown.m:0: failed to find eggs
SomeTests ended.
如果您使用Specify或Specta,或任何其他测试框架,您的测试名称将无需额外工作即可正常工作
TSCObserverSpecification started.
should override the default SenTestObserver class in NSUserDefaults in +load
+activeReporter should be an instance of TSCTidyReporter
+testSuiteDidStart: should forward to active reporter's -suiteDidStart:
+testStepDidStart: should forward to active reporter's -testDidStart:
+testStepDidFail: should forward to active reporter's -testDidFail:
+testStepDidStop: should forward to active reporter's -testDidEnd:
+testSuiteDidStop: should forward to active reporter's -suiteDidEnd:
TSCObserverSpecification ended.
要使用Transcript,请将其包含在Podfile中:pod 'Transcript'
。TSCObserver将自动替换SenTestLog,这是默认的OCUnit测试报告器。
版权所有 (c) 2012 Ryan Davies
下述条件外,任何人无需支付费用即可获得此软件及其相关文档文件的副本(“软件”),用于不受限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或转让软件副本的权利,并允许接收软件的人这样做,前提如下
你必须将上述版权信息和本许可声明包含在软件的所有副本或其主要部分中。
软件按“现状”提供,不提供任何形式的保证,明示或暗示,包括但不限于适销性、适用于特定目的和无侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,不论其基于合同、侵权或其他原因,是否源自、源于或与软件或其使用或其他方式有关。