我喜欢单元测试很小,只需要调用被测函数和Asserts。
但我对放置初始化代码的位置感到困惑?有许多变量,如请求/响应对象,以及单元测试使用的其他变量。有几种方法可以初始化它们。
任何人都可以指出哪种方法更好?此外,对此的一些好的写作的任何引用都将不胜感激。
答案 0 :(得分:2)
有一个setUp()或initialize(),它有初始化的东西,这导致私有类变量的数量,但似乎比其他2更好,因为所有初始化代码都在一个地方。
您应该将初始化代码放在使用@Before和@BeforeClass注释注释的方法中。使用这个约定,每个其他开发人员都不会感到惊讶,并会很快找到他想要的东西。请注意,这并不意味着您不应在JUnit测试中创建私有方法。当您的setup()方法最终变大时,您可能会考虑将其按代码的逻辑部分拆分为私有方法。
我在简要描述JUnit中的良好实践时发现this site很有帮助。
答案 1 :(得分:0)
我们可以使用JUnit中提供的封闭功能。使用它我们可以将与静态内部类相关的测试分组,并且可以为相关测试提供通用的setUp。如果我们在所有测试中都有一些共同的变量,我们可以放入外部类。请查看this了解更多详情。
答案 2 :(得分:0)
以清晰整洁的方式组织测试并不容易,而且在很大程度上取决于您的背景。但是你应该考虑几件事情:
我并不特别喜欢在测试中使用私有辅助方法,尽管在某些特定情况下我发现它们很有用。但我宁愿创建一个可以在其他地方重用的独立辅助类(某种类型的构建器,很可能)。
希望这有帮助。