JUnit:该课程是否应该进行测试'实例变量是否在setUp()中初始化?

时间:2015-01-26 16:35:56

标签: java junit junit3

我对JUnit很新,这看起来有点显而易见,但我似乎无法找到答案。我有一个类,因为想要一个更好的短语是一个“Cargo”类,因为它只存放不同类型的变量以供其他对象使用(具体来说,这个类用于包含样式和格式化表的参数细胞)。

它主要由getter和setter组成,虽然我知道有些人会说我可能不值得花时间测试这个类,但是在进入更复杂的类之前我会将它用于练习。

类本身包含一个无参数构造函数以及一个构造函数,它需要传入对象的所有实例变量。在创建测试时,我应该使用(或者它应该被认为是最佳实践)富构造函数在setUp()方法中,或者应该调用no args构造函数,然后对getter和setter进行测试?

1 个答案:

答案 0 :(得分:1)

如果在setter / getter中没有对该成员做任何事情,那么它是毫无意义的,但我想你可以把它视为一个练习。

您可以为两者进行测试。如果你有5个成员,我会做6个测试:5个使用no-arg构造函数的测试,每个测试使用一个setter和getter。另一个测试将使用args构造函数并在每个getter上执行断言。

有一个关于在单个测试中应该有多少断言的讨论,虽然我通常会尝试将它们最小化,但我相信在这里每个getter上有5个断言的单个测试是合适的,因为你从一个情况开始说“在一个陈述中插入所有这些值。”

有些人会争辩说,这应该分为10个测试:5个带有无法控制器+ get / setter,5个带有一个带有一个getter的arg ctor每次因为这样可以让你将测试分开它清楚你正在测试哪个吸气剂。

没有严格的指导方针,所以你应该自己决定。