gpt4 book ai didi

objective-c - XCTAssertEqual 无法比较两个字符串值?

转载 作者:IT老高 更新时间:2023-10-28 11:27:09 26 4
gpt4 key购买 nike

我添加了一个简单的单元测试来测试我的字符串扩展。但它失败了。我在这里做错了什么?

据我所知,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的文档:

Generates a failure when a1 is not equal to a2. This test is for C scalars, structs and unions.

您应该使用 XCTAssertEqualObjects(在内部使用 isEqual:)或类似的东西:

XCTAssertTrue([[firstNickName initialsFromString] isEqualToString:expectedResult],
@"Strings are not equal %@ %@", expectedResult, [firstNickName initialsFromString]);

关于objective-c - XCTAssertEqual 无法比较两个字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19464261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com