我添加了一个简单的单元测试来测试我的字符串扩展。但是失败了。我在这里做错了什么?
据我所知XCTAssertEqual
是测试值,而不是对象本身?
第三行顺便说一句,字符串是相等的,但是XCTAssertEqual
表示它们不相等。
- (void) testInitialsFromFullname {
NSString *firstNickName = @"Mike Kain";
NSString *expectedResult = @"MK";
NSLog(@"Equal:%@", [[firstNickName initialsFromString] isEqualToString:expectedResult] ? @"YES" : @"NO");
XCTAssertEqual(expectedResult, [firstNickName initialsFromString], @"Strings are not equal %@ %@", expectedResult, [firstNickName initialsFromString]);
}
最佳答案
从XCTAssertEqual
的文档中:
您应该使用XCTAssertEqualObjects
(内部使用isEqual:
)或类似方法:
XCTAssertTrue([[firstNickName initialsFromString] isEqualToString:expectedResult],
@"Strings are not equal %@ %@", expectedResult, [firstNickName initialsFromString]);