【发布时间】:2015-07-09 00:16:48
【问题描述】:
在测试中,我有一个带有多个对象的NSArray。他们都必须通过相同的测试。
有没有更好或更优雅的方式来表达这一点,而不是仅仅执行一个 for-in 并将相同的宏应用于每个元素?
【问题讨论】:
标签: objective-c cocoa tdd xctest
在测试中,我有一个带有多个对象的NSArray。他们都必须通过相同的测试。
有没有更好或更优雅的方式来表达这一点,而不是仅仅执行一个 for-in 并将相同的宏应用于每个元素?
【问题讨论】:
标签: objective-c cocoa tdd xctest
您可以执行以下操作,然后您的验证可以在其他测试中重复使用。
- (void)testObjectsInArray {
for (NSObject *obj in array) {
[self verifyObject:obj];
}
}
- (void)verifyObject:(NSObject *)object {
XCTAssert(object);
}
【讨论】:
这是一个判断调用,但您可以考虑 -indexesOfObjectsWithOptions:passingTest: 或者 -enumerateObjectsUsingBlock: 作为替代方案。
【讨论】: