命名约定 JUnit 后缀或前缀 Test [已关闭]

受测类 MyClass.java JUnit 测试用例名称替代项:

TestMyClass.java
MyClassTest.java

http://moreunit.sourceforge.net 似乎使用“Test”作为前缀默认值,但我看到了这两种用法。在 eclipse 中将整个项目作为单元测试运行时,两者似乎都可以识别,因为它是类内部的注释,用于@Test。我想maven也做同样的事情。

哪个是首选?


答案 1

后缀的另一个参数 - 至少在英语中:

一个类通常表示一个名词,它是一个概念的模型。其中一个测试的实例是“MyClass 测试”。相比之下,一种方法会对某种动作进行建模,比如“测试计算[方法]”。

因此,我总是使用“后缀”作为测试类,前缀用于测试方法:

the MyClass test          --> MyClassTest
test the calculate method --> testCalculate()

答案 2

我更喜欢使用后缀 - 这意味着在目录中查看文件列表更简单:您不必在精神上忽略前四个字母即可获得有意义的内容。(我假设您已经将测试放在与生产代码不同的目录中。

这也意味着,当您在 Eclipse 中使用 Open Type (Ctrl-T) 时,您最终会同时看到生产代码及其测试...如果您没有看到测试类,这也是一个提醒:)