JUnit - 有多少文件用于测试单个类?

not*_*lty 0 java junit unit-testing

假设我有一个类MyClass.java,我们必须为它编写一个测试。其中一些将执行一次,其中一些将执行多次。

  1. 我准备了两个测试类 -MyClassTestSingle.java用于单个测试和MyClassTestMultiple.java@Parametrized注释的测试。
  2. 我想从一个文件中运行它们,所以还有另一个类 - MyClassTestSuite.java.
  3. MyClassTestSingle.javaMyClassTestMultiple.java方法中,我使用具有相同值的相同参数,所以我开始考虑包含这些参数的类......

但后来我意识到我想创建四个类来测试一个类。所以我开始寻找一些“好的实践”如何保持我的测试类干净和简单。但是在为上述情况编写测试时,没有发现有关我需要的类数量的有价值的信息。

我开始想,也许我的MyClass.java.

我错了吗?或者,也许我只是不明白什么?

Ale*_*exR 5

这里没有“正确”或“错误”的方式。但是有一些约定。

首先,通常测试用例名称通常以Test. 通常我们为每个类实现测试用例,并以生产类的Test后缀命名它。遵循此约定,各种构建和报告工具将自动为您工作,无需额外配置。

如果需要,可以使用将测试用例拆分为多个类。例如,当测试数量或代码行数量超过合理限制时,或者如果有一些测试组应该单独维护。您的示例(参数化和非参数化测试)听起来很合理。

所以,我会创建MyClassSingleTest.javaMyClassMultipleTest.java

变体: MyTest.javaMyTestParameterized.java

给出更有意义的名称可能是个好主意。试着表达你的参数是什么意思。例如UserParametersDbParameters等等。在这种情况下,请调用您的参数化类MyClassUserTest.java或类似的东西。