java – Arquillian测试覆盖率

我希望看到使用Arquillian进行IT测试的测试覆盖率.我遇到了这个扩展:
https://github.com/arquillian/arquillian-extension-jacoco

我不明白为什么JacocoInegrationTestCase测试的CoverageBean类在报告中不可见.多数民众赞成我所期待的.
有人可以提供示例项目,在Arquillian和测试类上运行1个集成测试,生成测试覆盖率报告吗?
谢谢

@RunWith(Arquillian.class)
public class JacocoInegrationTestCase
{
@Deployment
public static JavaArchive createDeployment() throws Exception
{
   return ShrinkWrap.create(JavaArchive.class, "test.jar")
                 .addClasses(CoverageBean.class, JacocoInegrationTestCase.class);
}
@EJB
private CoverageBean bean;
@Test
public void shouldBeAbleToGenerateSomeTestCoverage() throws Exception
{
  Assert.assertNotNull(bean);    
  bean.test(true);

}
}

@Stateless
public class CoverageBean
{
public void test(Boolean value) 
{
  String test = "test";
  if(value)
  {
     if(test.length() == 4)
     {
        long start = System.currentTimeMillis();
        test = String.valueOf(start);
     }
  } 
  else
  {
     long start = System.currentTimeMillis();
     test = String.valueOf(start);
  }

}
}

 <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
   <configuration>
      <skip>true</skip>
   </configuration>
<executions>
   <execution>
     <id>integration-tests</id>
     <phase>test</phase>
    <goals>
      <goal>test</goal>
   </goals>
<configuration>
   <environmentVariables>
      <JBOSS_HOME>${jbossHome}</JBOSS_HOME>
   </environmentVariables>
<skip>false</skip>
<includes>
    <include>org/jboss/arquillian/extension/jacoco/test/unit/ * </include>
         <include>org/jboss/arquillian/extension/jacoco/test/integration/ * </include>   
</includes>
</configuration>
</execution>

编辑:
我也试过这个项目(https://github.com/CSchulz/arquillian-jacoco-showcase),看起来非常有意义,但它运行Wildfly的分发版本.但在我的项目中,我们再次运行Arquillian测试安装的JBOSS EAP 6实例,具有数据库连接和其他安全配置.是否有人能够更改它以使用已安装(部署)的JBOSS版本?谢谢

最佳答案 这是适合我的配置.看看它是否对你有所帮助.

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${version.plugin.maven.surefire}</version>
            <configuration>
                <failIfNoTests>false</failIfNoTests>
                <excludedGroups>org.jboss.arquillian.junit.Arquillian</excludedGroups>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>${version.plugin.maven.failsafe}</version>
            <configuration>
                <groups>org.jboss.arquillian.junit.Arquillian</groups>
                <testFailureIgnore>false</testFailureIgnore>
                <systemPropertyVariables>
                    <arquillian.launch>jbossas-remote-7</arquillian.launch>
                </systemPropertyVariables>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>${jacoco-plugin.version}</version>
            <configuration>
                <includes>
                </includes>
                <excludes>
                    <exclude>.....</exclude>
                </excludes>
            </configuration>
            <executions>
                <execution>
                    <id>default-prepare-agent</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>default-prepare-agent-integration</id>
                    <goals>
                        <goal>prepare-agent-integration</goal>
                    </goals>
                    <configuration>
                        <destFile>${project.build.directory}/jacoco-it.exec</destFile>
                    </configuration>
                </execution>
                <execution>
                    <id>Create Unit Test Report</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
                <execution>
                    <id>Create Integration Test Report</id>
                    <goals>
                        <goal>report-integration</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
点赞