我正在使用 cobertura maven 插件来生成关于我的基于 spring 的应用程序的测试代码覆盖率的报告。我的单元测试配置为:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:/testAppContext.xml")
public class TestCase extends TestBase
testAppContext.xml - 位于 /src/test/resources/testAppContext.xml 的 Spring IOC 配置
而我的 cobertura 的相关 pom.xml 部分是:
<build>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
...
<build>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
当我制作“mvn clean install”时它工作正常,但是当我制作“mvn site”时-基于弹簧的测试失败,因为“加载ApplicationContext失败”和底层“自动装配依赖注入失败”,所以我收到不正确的报告关于测试覆盖率。
我认为这可能是因为 testAppContext.xml 在“站点”目标或其他东西期间不在类路径上。任何建议如何解决这个问题?
谢谢您的帮助!