2

我使用嵌套类来访问 JUnit 测试中的私有成员。它们总是被命名为“TestProxy”。

我想在构建时使用 maven2 删除它们,而不是将其包含到 jar 文件中。

  • 有没有配置选项?
  • 可以用插件完成吗?如果是这样,原型会很好!;-)

谢谢

编辑:为什么使用私有方法?我需要从 3rd 方系统注入数据,而每次 JUnit 测试运行都不能调用这些数据。而且我真的不想要私有数据的公共设置器,或者迟早另一个程序员可能会滥用它。

4

2 回答 2

2

答案如下:可以用maven配置。只需将以下代码插入到 build/plugins 部分的文件 pom.xml 中:

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-jar-plugin</artifactId>
 <configuration>
   <excludes>
     <exclude>**/*$TestProxy*</exclude>
   </excludes>
 </configuration>
</plugin>

@查看文档:http ://maven.apache.org/plugins/maven-jar-plugin/jar-mojo.html#excludes

于 2009-04-15T12:16:52.860 回答
0

对于这类事情,您可能会发现 ant 脚本是第一个调用端口,而不是专用的自定义插件。让 Maven 在构建过程中运行任意 ant 脚本很简单。比创建插件更简单。 这个问题很好地描述了如何在 Maven 的process-sources构建执行阶段运行 ant 脚本。

稍有不同的是,我希望您会得到一堆答案,询问您为什么要对私有可访问的班级成员进行单元测试...

于 2009-04-14T13:46:11.250 回答