我刚开始为我的代码编写单元测试用例。 写作时我刚刚吸收了许多测试用例类正在使用一些通用代码,并且在类中需要一个公共变量。
所以我决定创建一个单例类来保存所有这些值。其中这个单例类将通过sentesting继承。
所以这里我的问题是可以创建一个单例测试类。 ?
注意:我创建了一个单身人士,但它根本没有工作。
答案 0 :(得分:1)
OCUnit与其他xUnit框架共享相同的体系结构。要运行测试用例,
对于您想要的公共变量,将其定义为ivar。然后在-setUp
中初始化它。如果之后需要进行显式清理,请在-tearDown
中执行此操作。
避免在测试之间共享对象非常重要,因为每个测试都应该具有一致的通过/失败行为。共享对象会污染此对象,从而在测试之间创建潜在的依赖关系。由于单例是共享对象的常用方法,因此它们通常不会影响单元测试策略。
有关使用Objective-C或Swift在Xcode中进行单元测试(特别是测试驱动开发)的分步示例,请参阅https://qualitycoding.org/tdd-kata/
答案 1 :(得分:0)
是的,我在这里发现我们不能创建一个继承sentesting的单例类。
我们只能创建从NSObject继承的单例。