【问题标题】:Applying the same test to all members of a collection对集合的所有成员应用相同的测试
【发布时间】:2015-07-09 00:16:48
【问题描述】:

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

有没有更好或更优雅的方式来表达这一点,而不是仅仅执行一个 for-in 并将相同的宏应用于每个元素?

【问题讨论】:

    标签: objective-c cocoa tdd xctest


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-10
        • 1970-01-01
        • 1970-01-01
        • 2020-03-08
        • 2010-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多