我在XCTestCase
类中有几个测试用例,例如test1,test2等
我只想通过test1, test2
来运行testPrecondition
。我该如何实现?
最佳答案
您必须重写XCtest的testInvocations类方法。以下示例来自Github
该代码不言自明。
+ (NSArray *)testInvocations
{
BOOL onlineTests = [[[[NSProcessInfo processInfo] environment] objectForKey:@"ONLINE_TESTS"] boolValue];
if (!onlineTests)
return [super testInvocations];
NSMutableArray *testInvocations = [NSMutableArray new];
for (NSInvocation *invocation in [super testInvocations])
{
if (![NSStringFromSelector(invocation.selector) hasSuffix:offlineSuffix])
[testInvocations addObject:invocation];
}
return [testInvocations copy];
}
如果要决定在运行时运行哪个测试=>,则测试中会有代码异味(依赖性),这意味着您做错了测试。