我可能对这个过于沉迷,但我的项目有一个非常结构化的布局,我非常喜欢。拥有这么多结构实际上证明是有用的,这一次,所以我不希望它再次变得混乱。我应该在哪里将共享测试实用程序放在多模块Maven项目中?
首先,每个模块由几个Java包:
com.mycompany.mysoftware.modulename
com.mycompany.mysoftware.modulename.impl
com.mycompany.mysoftware.modulename.osgi
com.mycompany.mysoftware.modulename.test
的主要代码住在.impl
。接口,其他模块使用的某些枚举和某些数据容器类将不带后缀地位于该包中。 .osgi
包中包含OSGi特定代码(BundleActivator
s等)和.test
包中的单元测试。
现在我有类伪造一个模块用于测试其他人。我想知道是否应该将那些已经包含用于主代码的共享库的common
模块的.test
包中的那些包,或者是否应该有一个新模块test
,我可以在Maven中设置不同的依赖范围。
ETA:我有一个问题是,我得到循环依赖:如果我有两个模块和单元测试中的每个所需要的其他的假的,含有假的模块具有模块的依赖关系包含接口,它是包含单元测试的相同模块。所以,假冒应该与测试一起,但是会导致很多代码重复。或者,对于每个模块,我制作了一个假模块,但这让我觉得它已经失控...
那么,如果它位于该公共模块的测试子目录中,则不会打包。不过,我想,依赖范围可能是最重要的方面。 – 2009-10-12 15:42:02
的确如此。但是,如果它位于公共模块的测试子目录中,则不能依赖多个模块中的代码。 – 2009-10-12 15:58:20