【发布时间】:2014-02-11 19:59:17
【问题描述】:
我正在尝试使用 XCTAssert 编写单元测试。 我有一个 NSSet,我想测试这个集合是否包含任何对象。
我检查:
XCTAssertTrue((mySet.count == 0), @"mySet should not be empty");
测试总是通过。在我的测试用例中,NSSet 是空的。当我插入一个 if 语句并要求 if (mySet.count == 0) 时,这是真的 - 所以它们不是 NSSet 中的元素。
为什么断言没有中断? 或者:如何使用 XCTAssert 检查 NSSet 或 NSArray 是否为空?
【问题讨论】:
-
你是如何创建集合的,此时它应该是空的吗?您传入的字符串与实际测试相矛盾。
-
NSSet 是来自 NSManagedObject 的关系。当 NSSet 为空时,我想让测试失败。所以 NSSet 应该总是保存数据。当 count 为 0 时 --> 出现错误。
标签: ios unit-testing xctest