如何捕获OCUnit测试通过/失败消息/事件

orj*_*orj 10 continuous-integration unit-testing objective-c ocunit

我正在尝试将xcodebuild和OCUnit与我的持续集成服务器(TeamCity)一起使用.

JetBrains为boost :: test和CppUnit提供测试观察器实现,以TeamCity可以解释的方式格式化测试输出.如果我想使用它,我需要为OCUnit做类似的事情.

在OCUnit中似乎有一个SenTestObserver类,但我不知道应该如何使用它,而且OCUnit主页似乎没有提供任何关于此事的文档.

sup*_*ell 5

您可以通过扩展SenTestObserver类并实现通知侦听器来编写自己的观察者

  • (void)testSuiteDidStart:(NSNotification*)aNotification
  • (void)testSuiteDidStop:(NSNotification*)aNotification
  • (void)testCaseDidStart:(NSNotification*)aNotification
  • (void)testCaseDidStop:(NSNotification*)aNotification
  • (void)testCaseDidFail:(NSNotification*)aNotification

然后使用您的类的名称向info.plist SenTestObserverClass添加一个条目.

至少在OCUnit的版本中,我熟悉SenTestObserver是等分有用/等分的部分.我只是完全跳过它并在我自己的课堂上注册通知.(有关通知名称的定义,请参阅SenTestSuiteRun.h和SenTestCaseRun.h).

您可以使用测试和运行通知的属性来访问SenTestSuite和SenTestSuiteRun实例,并且运行实例包含实际结果所需的信息.