【发布时间】:2011-02-23 07:40:19
【问题描述】:
在 Ruby 世界工作了很长时间后,我又回到了 Java,我有一个关于 JUnit 测试和我正在测试的源代码的问题。
如果我有我公司的图形代码包,我们称之为com.example.graphics,我应该将我的测试也包含在那个包中还是应该包含在一个单独的包中,比如com.example.graphics.test?
【问题讨论】:
标签: java unit-testing junit packages
在 Ruby 世界工作了很长时间后,我又回到了 Java,我有一个关于 JUnit 测试和我正在测试的源代码的问题。
如果我有我公司的图形代码包,我们称之为com.example.graphics,我应该将我的测试也包含在那个包中还是应该包含在一个单独的包中,比如com.example.graphics.test?
【问题讨论】:
标签: java unit-testing junit packages
将测试放在单独的包中确实可以避免在包范围内意外拥有您希望客户使用的某些方法或类的问题。
【讨论】:
我个人将所有测试保存在同一个包中,但在 Maven 的测试树中(我总是将它用于 Java 项目)。考虑在您的构建中使用 Maven - 它可以为您节省大量工作。它强制执行与 bkail 提到的类似的结构,但为您提供的不仅仅是标准化的项目文件夹布局 - 项目生命周期(清理、编译、打包、测试)、插件等。
【讨论】:
如果您不需要访问私有课程,这实际上是一个风格问题。
有时我什至倾向于创建一个引用产品项目的附加测试项目。 因此,产品和测试是明确分开的。
【讨论】:
在同一个java包中就可以了。如果您需要访问包私有的类、方法或字段,这实际上是必要的。但是,来源在逻辑上应该是分开的:
src/main/com/example/graphics
src/test/com/example/graphics
【讨论】: