我的单元测试套件中有以下测试:
STAssertEquals(0, [[newUnit itemsWithinBasketFrom:[NSDate dateYesterday] through:[NSDate dateTomorrow]] count],
@"A unit with no items should return 0 when asked for items in place within a date range. (count=%i)",
[[newUnit itemsWithinBasketFrom:[NSDate dateYesterday] through:[NSDate dateTomorrow]] count]);
构建控制台的输出是:Type mismatch -- A unit with no items should return nil when asked for items in basket within a date range. (count=0)
。
如果count为0,并且我正在测试它与0的相等性,那么为什么我会出现类型不匹配?
谢谢!
答案 0 :(得分:3)
count
返回NSUInteger
,unsigned int
。您将期望值设置为0,即int
。那些类型是不同的。将您的0转换为NSUInteger,例如(NSUInteger)0
或使用0U
。
答案 1 :(得分:0)
[[newUnit itemsInPlaceWithinDateRangeFrom:[NSDate dateYesterday] through:[NSDate dateTomorrow]] count]
类型是什么。也许你的类型不正确(如double),然后当你尝试打印它时,它似乎是0.而且因为它无法比较int和double,它会产生类型不匹配。这只是我的猜测