我试图在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)。