在与Java中的源代码相同的包中包含单元测试

时间:2010-05-24 16:30:04

标签: java unit-testing junit packages

我在Ruby世界长期工作后回到Java,我对JUnit测试以及我正在测试的源代码有疑问。

如果我的公司有一套图形代码,我们可以将其称为com.example.graphics,我是否应该将测试包含在该软件包中,或者是否应将它们包含在单独的软件包中,例如{{1} }?

4 个答案:

答案 0 :(得分:34)

在同一个java包中没问题。如果您需要访问包私有类,方法或字段,实际上是必需的。但是,源应该在逻辑上分开:

src/main/com/example/graphics
src/test/com/example/graphics

答案 1 :(得分:1)

如果您不需要访问私有类,那实际上是一个风味问题。

我有时甚至倾向于创建一个引用产品项目的额外测试项目。 因此,产品和测试明显分开。

答案 2 :(得分:1)

我个人将所有测试保存在同一个包中,但是在Maven的测试树中(我总是用于Java项目)。考虑将Maven用于您的构建 - 它可以为您节省大量工作。它强制执行与bkail提到的类似的结构,但为您提供的不仅仅是标准化的项目文件夹布局 - 项目生命周期(清理,编译,打包,测试),插件等。

答案 3 :(得分:0)