gpt4 book ai didi

objective-c - 在 ocUnit 中比较 NSArray

转载 作者:太空狗 更新时间:2023-10-30 03:43:39 24 4
gpt4 key购买 nike

我是 ocUnit 的新手,我正在尝试使用 STAsertTrue 方法和 == 比较 2 个数组是否相等。

下面的测试只是向被测系统 (sut) 询问返回的数组

- (void) testParse {
SomeClassForTesting* sut = [[SomeClassForTesting alloc] init];
NSArray* result = [sut parseAndReturn];

NSArray* expected = [[NSArray alloc] initWithObjects:@"1", @"2", @"3", @"4",nil];

STAssertTrue(result == expected, @"This test failed");
}

然后在我的生产代码中,我简单地返回相同的数组

- (NSArray *)parseAndReturn
{
NSArray* x = [[NSArray alloc] initWithObjects:@"1", @"2", @"3", @"4",nil];
return x;
}

然而,当测试运行时,我遇到了失败。我应该如何比较这些对象以查看它们是否相同?

提前致谢

最佳答案

有一个宏 STAsertEqualObjects,它使用 -isEqual: 进行对象比较。我认为这正是您所需要的。

STAsertTrue 在你的例子中比较对象指针并失败,因为 resultexpected不同的对象(它们的指针是不同的)。

关于objective-c - 在 ocUnit 中比较 NSArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4840681/

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