我目前正在使用一个简单的对象,该对象将 lat 和 lng 值保存为 NSString。但是当我试图断言它们是平等的时,我用这种方法失败了
- (void) testLocationParseJson {
NSArray* items = //some array the represents the json returned from google ...
LocationParseJson* sut = [[LocationParseJson alloc] init];
Location* actualLocation = [sut parseJson:items];
NSString* actualLatitude = actualLocation.lat;
NSString* actualLongitude = actualLocation.lng;
STAssertEqualObjects(expectedLocation.lat, actualLocation.lat, @"The actual location latitude was %@", actualLocation.lat);
}
这是显示的错误
错误:-[LocationParseJsonTest testLocationParseJson] : '41.6756668' 应该等于 '41.6756668' 实际位置纬度是 41.6756668
因此,我尝试了使用“isEqual”的 AssertTrue 方法
STAssertTrue([expectedLocation.lat isEqual: actualLocation.lat], @"The actual location latitude was %@", actualLocation.lat);
我得到同样的错误
错误:-[LocationParseJsonTest testLocationParseJson]:“[expectedLocation.lat isEqual:actualLocation.lat]”应该为真。实际位置纬度为41.6756668
我应该如何比较 ocUnit 中的这些 NSString 值?这是位置 fyi 的 .h 文件
@interface Location : NSObject {
NSString* lng;
NSString* lat;
}
@property (nonatomic, retain) NSString* lng;
@property (nonatomic, retain) NSString* lat;
@end