我在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];
}

如果要决定在运行时运行哪个测试=>,则测试中会有代码异味(依赖性),这意味着您做错了测试。

10-01 16:26