1

XCTest フレームワークで非常に単純なモック オブジェクトを実装しようとしています。現在の TestCase オブジェクト以外のオブジェクトから XCTAssert マクロを呼び出せるようにしたいと考えています。

SenTestKit でこれを実行できたことを思い出しますが、XCTest でそれを機能させる方法がわかりません。

次のコード サンプルは失敗するはずですが、成功します。

私が考えることができる唯一のことは、(以下の例では) MockThing は XCTestCase 以外のサブクラスでなければならないということです。それがどうあるべきかわかりません。

MyTest.m

@interface MyTest : XCTestCase
@end

@interface MockThing : XCTestCase
- (void) fail;
@end

@implementation MyTest
- (void)testExample
{
    MockThing * mockThing = [[MockThing alloc] init];
    [mockThing fail];
}
@end

@implementation MockThing
- (void) fail
{
    XCTFail(@"This should fail");
}
@end

これを適切に失敗させるにはどうすればよいですか (OCUnit を使用する必要はありません)。

4

0 に答える 0