gpt4 book ai didi

objective-c - 单元测试、STAssertThrows 和 NSExceptions

转载 作者:行者123 更新时间:2023-12-03 17:55:02 25 4
gpt4 key购买 nike

我是单元测试新手,对此有疑问。

在我的源代码中,我对 NSMutableArray 进行了子类化。 NSMutableArray 必须实现原始 NSMutableArrayNSArray 方法。这些方法在某些情况下会抛出 NSExceptions,例如 NSRangeExceptions

问题是:“当我为这个原始方法进行单元测试时,我应该为 NSExceptions 编写案例吗?

示例:

//array with 3 objects
STAssertThrows([array insertObject:object atIndex:8], @"");
  1. 这是正确的吗?
  2. 有这个必要吗?

最佳答案

需要考虑两种情况:断言将引发异常,以及断言不会引发异常。

后者不是必需的,但仍然是一个好主意。这是一个在断言消息中提供您期望发生或不发生的事情的更明确描述的机会。但是,您可以跳过STAssertNoThrow,异常仍然会使测试失败。

如果您希望发生异常,那么您需要断言,就像您在问题中的代码中所做的那样。不过,您应该提供有意义的断言消息,而不是空字符串。

关于objective-c - 单元测试、STAssertThrows 和 NSExceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14997185/

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