【发布时间】:2012-07-18 13:01:35
【问题描述】:
我刚开始为我的代码编写单元测试用例。 在编写时,我只是吸收了许多测试用例类使用一些通用代码,并且在类之间需要一个通用变量。
所以我决定创建一个单例类来保存所有这些值。这个单例类将在其中继承。
所以我的问题是可以创建一个单例测试类。 ?
注意:我创建了一个单例,但它根本不起作用。
【问题讨论】:
标签: objective-c unit-testing singleton ocunit
我刚开始为我的代码编写单元测试用例。 在编写时,我只是吸收了许多测试用例类使用一些通用代码,并且在类之间需要一个通用变量。
所以我决定创建一个单例类来保存所有这些值。这个单例类将在其中继承。
所以我的问题是可以创建一个单例测试类。 ?
注意:我创建了一个单例,但它根本不起作用。
【问题讨论】:
标签: objective-c unit-testing singleton ocunit
OCUnit 与其他 xUnit 框架共享相同的架构。要运行一个测试用例,它
对于您想要的公共变量,将其定义为 ivar。然后在-setUp中初始化它。如果之后需要显式清理,请在 -tearDown 中执行此操作。
避免在测试之间共享对象非常重要,因为每个测试都应该有自己一致的通过/失败行为。共享对象会污染这一点,从而在您的测试之间创建潜在的依赖关系。由于单例是共享对象的常用方式,因此它们通常与单元测试策略背道而驰。
有关使用 Objective-C 或 Swift 在 Xcode 中进行单元测试(特别是测试驱动开发)的分步示例,请参阅https://qualitycoding.org/tdd-kata/
【讨论】:
是的,在这里我发现我们不能创建一个继承 sentesting 的单例类。
我们只能创建继承自 NSObject 的单例。
【讨论】: