0

我正在使用 Maven 来构建我的项目,比如 utils_java。

项目结构是典型的 src/main... 和 src/tests....

我在这个包中有一个类,需要一些复杂的设置和 JNI 等的使用。所以为了方便单元测试,我有一些名为 mock_java 的其他包,其中包含一个具有相同名称和包结构的伪/代理/模拟类。

pom.xml 条目:

<dependency>
    <groupId>com.test.my_mock_java</groupId>
    <artifactId>my_mock_java</artifactId>
    <version>0.0.1.14244.5</version>
    <scope>test</scope>
</dependency>

我还检查了使用其他 maven-antrun-plugin 来检查类路径。测试类路径包含这个 mock_java pkg 的 jar。

这对我不起作用。如果有 2 个两个包,我们可以通过将它们放在 pom.xml 中的适当位置来控制它们的顺序是类路径。但是在这种情况下应该怎么做,当前项目中的一个类需要被其他包中的一个遮蔽只是为了测试目的?

4

2 回答 2

0

依靠类路径中的顺序来隐藏类只是要求类。你无法控制的因素太多了。但是,如果没有关于您的实际用例的更多信息,很难给出更好的建议。

于 2013-08-03T08:07:38.490 回答
0

您是否尝试通过定义更多配置文件来解决问题?

您可以定义以下配置文件:

  • 生产(默认激活)
  • 测试

通过这种方式,您可以根据它们包含/排除依赖项

于 2013-08-09T16:12:16.730 回答