您认为在项目中组织JUnit测试的最佳实践是什么?为什么?例如,您是否将测试放在他们测试的类旁边?你把它们放在一个单独但平行的包装结构中吗?您是否完全使用不同的组织策略?
出于几个原因,我使用单独但并行的包结构.
它使测试的组织方式与应用程序代码相同.
我可以轻松地构建应用程序文件以进行分发.
测试代码仍然可以访问我的应用程序代码.
将测试代码与应用程序代码混合在一起并不是一团糟.
我将测试放在一个单独但相似/并行的包结构中.这就是Maven喜欢的东西,它也适用于IDE.我喜欢这种方式,因为我没有将我的测试代码与我的应用程序代码混淆,但我仍然可以访问包私有的东西以进行模拟和状态验证.
只需使用Maven.使用maven,您可以为项目创建默认结构:
mvn archetype:create -DgroupId=com.yoyodyne -DartifactId=UberApp
这将创建Maven的标准目录布局,其中包含单元测试以及主项目的空间.使用maven,您可以运行单元测试而无需将其打包到jar中,您可以构建一个仅包含应用程序的jar.您还可以为运行,测试和编译时间提供不同的类路径和不同的依赖项.
我觉得最令人不安的是看到周围这么少的人实际上正在使用Maven(或者至少是Ant,尽管我更喜欢Maven用于依赖处理.)