JUnit - 测试单个类的文件数量是多少?

时间:2016-08-31 13:16:27

标签: java unit-testing junit

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

  1. 我准备了两个测试类 - MyClassTestSingle.java用于单个测试,MyClassTestMultiple.java用于带@Parametrized注释的测试。
  2. 我想从一个文件中运行它们,因此还有另一个类 - MyClassTestSuite.java
  3. MyClassTestSingle.javaMyClassTestMultiple.java方法中,我使用具有相同值的相同参数,因此我开始考虑包含这些参数的类...
  4. 但后来我意识到我想创建四个类来测试单个类。所以我开始寻找一些“良好实践”如何保持我的测试类干净简单。但是在为上述情况编写测试时,没有找到关于我需要的类数量的有价值的信息。

    我开始认为我的MyClass.java中可能存在设计问题,但确实存在需要进行参数化和单个测试并将其打包到套件中的情况。

    我错了吗?或者我可能只是不明白?

1 个答案:

答案 0 :(得分:2)

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

首先,通常测试用例名称通常由Test结束。通常,我们为每个类实现测试用例,并在具有Test后缀的生产类之后命名。遵循此约定,各种构建和报告工具将自动为您工作,无需其他配置。

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

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

的变体: MyTest.java和MyTestParameterized.java

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