所以对于大多数的单元测试事业我也碰到过,你通常可以访问一个设置()和某种TearDown中()函数。当我看到这是非常方便的,几乎每一个单元测试,我不知道如何测试对象的初始化应该如何处理?我的意思是,在几乎所有其他的测试,你只想让安装()函数处理它。然而,在大多数的基本测试实用程序我有,设置()获取每次测试之前调用工作。我一直在想,如果你只是做初始化测试设置()函数中,如果要自己设置(),使程序在以初始化检测,或者有一些其他不相关的测试开始显式调用同等功能普遍接受的做法我还没有长大?
对象的初始化是由一个构造函数中完成,因此“测试初始化”的意思是“测试的建设者”。当测试你将执行感兴趣的方法的正常赋值函数方法,然后作出断言关于对象的状态之后。对于构造是一样的。从测试正常的方法,如果你在你的setUp()
方法创建的测试夹具的唯一区别,是测试方法不调用构造函数本身,而是依赖于在建立方法调用。
这就是说,我从具有测试类ThingTest
上课Thing
的测试夹具的Thing
类的风格搬走。我,而不是直接在测试方法创建类Thing
的对象,使用参数化测试,以减少代码的重复。我觉得这避免了mystery guest码味。
您可能会被这个得太多。实施setUp()
是可选的,任何给定的测试是免费无视setUp()
创建的任何状态。所以,你可以简单地忽略了一个测试方法状态测试对象的初始化,或创建一个单独的测试类只是用于测试初始化它有一个空的setUp()
方法。