如果您特别想知道JUnit
FAQ中的示例,例如基本测试模板,我认为展示的最佳实践是应该在setUp方法(或测试方法)中实例化
被测类。 。
当JUnit示例在setUp方法中创建ArrayList时,它们都将继续测试ArrayList的行为,并使用诸如testIndexOutOfBoundException,testEmptyCollection之类的情况。那里的观点是有人编写课程并确保其正常工作。
在测试自己的类时,您可能应该做同样的事情:在setUp或测试方法中创建对象,以便稍后将其破坏时可以获得合理的输出。
另一方面,如果您在测试代码中使用Java集合类(或其他库类),则可能不是因为您要对其进行测试-
它只是测试夹具的一部分。在这种情况下,您可以放心地假定它可以按预期工作,因此在声明中对其进行初始化不会有问题。
对于它的价值,我使用的是一个相当大的,由TDD开发的,已有几年历史的代码库。我们习惯性地在测试代码中的声明中初始化事物,而在我从事该项目的一年半中,它从未引起任何问题。因此,至少有一些轶事证据表明这样做是合理的。



