我正在尝试在 XCTest 框架下实现一个非常简单的模拟对象。我希望能够从当前 TestCase 对象以外的对象调用 XCTAssert 宏。
我记得能够在 SenTestKit 下做到这一点,但我不知道如何让它在 XCTest 下工作。
我觉得下面的代码示例应该失败,但它通过了。
我唯一能想到的是(在下面的示例中)MockThing 应该是 XCTestCase 以外的东西的子类。我只是不确定那应该是什么。
我的测试.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)。