考虑一个具有小型库式静态方法的 Java 类。
将 JUnit 测试方法放在同一个类中是一种不好的做法吗?
我看到以下优点:
对比是什么?为什么通常的做法是始终将测试代码分开?
一个例子:
import org.junit.*;
public class HtmlUtils {
public static String normalizeBrs(String html) {
return html.replaceAll("<br\\s*/?>", "<br/>");
}
@Test
public void testNormalizeBrs() {
Assert.assertEquals(normalizeBrs("hello <br /> world <br>"), "hello <br/> world <br/>");
}
}
Run Code Online (Sandbox Code Playgroud)
如果您的包裹很小,您可能不会注意到任何差异。
但是想象一下,您有一个包含数千个类的包,然后有数十个数千个方法。这意味着数十次数千次测试。
那么如果将所有代码+测试放在一起会发生什么呢?
对于类似的事情,您可能最终会用垃圾加载内存,而这些垃圾实际上永远不会有任何用途。
这就是为什么一般实践总是鼓励您将它们分开。通过遵循这个较小的包,您实际上也在为更大的项目训练自己。