测试类可见性

时间:2012-01-09 10:56:07

标签: java unit-testing maven

我有一个包含数据模型代码(Hibernate)和一些单元测试的项目A.我还有其他项目B,C和D及其代码和单元测试。我还有一组测试实用程序类,用于所有项目的单元测试。这些测试实用程序类依赖于项目A,因为它们使用数据模型类。

如果我将这些测试实用程序类放在项目A中,我会遇到以下问题:项目B,C和D如何在IDE外部查看这些测试实用程序类(我确切地说这些测试实用程序类放在了src中/ test / java目录然后不包含在JAR中?

如果我将这些测试实用程序类放在一个单独的项目中,我会得到循环依赖,因为测试实用程序类依赖于项目A而A的单元测试使用这些测试实用程序类。

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

这些测试实用程序类应该(通过构建过程)打包在一个单独的JAR文件中,其他项目仅在运行测试时使用。

答案 1 :(得分:1)

你可以将每个项目捆绑在自己的jar中 - A.jar,B.jar,C.jar,D.jar并将实用程序类放在自己的jar中 - testutilities.jar

然后,您可以通过包含testutilities.jar轻松地将testutilities包含在其他项目中。您还需要包含A.jar作为testutilities.jar,取决于A.jar。