对集合的所有成员应用相同的测试

Applying the same test to all members of a collection

在测试中我有一个 NSArray 有几个对象。他们都必须通过相同的测试。

有没有比只执行 for-in 并对每个元素应用相同的宏更好或更优雅的表达方式?

这是一个判断调用,但您可以考虑 -indexesOfObjectsWithOptions:passingTest: 和 -enumerateObjectsUsingBlock: 作为替代方案。

您可以执行以下操作,然后您的验证可以在其他测试中重复使用。

- (void)testObjectsInArray {
    for (NSObject *obj in array) {
        [self verifyObject:obj];  
    }
}

- (void)verifyObject:(NSObject *)object {
    XCTAssert(object);
}