JUnit测试用例是否真的应该位于课程的旁边?

时间:2014-05-08 16:19:23

标签: java junit

C#developer here,通过基本的Java示例。 JUnit测试用例似乎与我见过的教程中的测试类打包在一起。是对的吗?在C#中,我们创建了一个新的Test项目 - 当然在Java中,常见的模式是相似的吗?

1 个答案:

答案 0 :(得分:7)

正如我在评论中所说,现在的事实标准是Maven结构,其中测试在package(C#中的命名空间)中,但在不同的源根(src/main/java和{{尽管你可以自由地将测试放在任何你想要的地方。

然而,将测试放在同一个包中有一些好处,因为Java可见性规则意味着测试可以访问src/test/java包私有方法,允许它与被测试的课程相关的更多一点(这不是你应该一直依赖的东西,但它现在又一次有用)。

无论如何,我离题了,结构看起来像这样:

protected

在Java世界中,拥有外部构建工具是常态,Maven是本月的当前风格。大多数IDE都支持它,当它们与Maven项目文件(pom)同步时,它将识别这种结构。

如果您没有使用Maven,那么这并不意味着您无法使用此结构,您只需手动将其他源根添加到IDE项目中/模块。

在IntelliJ中,您可以在项目设置中执行此操作 - > “源”选项卡上的模块。你在Eclipse中做了类似的事情,但不确定确切的路径(确定有人会在评论中添加:-)