Maven + Cobertura:无法找到[你的班级]。你有没有指定源目录?

时间:2013-12-04 04:27:57

标签: java maven cobertura

我有两个简单方法的“MyMath”类:“multi”和“add”。 而测试类只测试多种方法。

public class MainTest {

    @Test
    public void testMultiply() {

       MyMath tester = new MyMath();

       // check if multiply(10,5) returns 50
       assertEquals("10 x 5 must be 50", 50, tester.multi(10, 5));
     } 
}

我的项目结构是:

JenkinsTest/
 src/
  main/Main.java
  math/MyMath.java
  test/MathTest.java

项目根目录下的pom.xml。 我正在尝试使用cobertura-maven-plugin生成覆盖率报告。

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <formats>
           <format>html</format>
           <format>xml</format>
          </formats>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>clean</goal>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
    </plugin>
  </plugins>
</build>  

<dependencies>
  <dependency>
    <groupId>junit</groupId>
      <artifactId>junit</artifactId>
        <version>4.8.1</version>
        <scope>test</scope>
  </dependency>
</dependencies>

从命令行maven cobertura:cobertura

运行maven

它说1测试运行,Cobertura报告生成成功,构建成功消息。但是当我去检查target / site / cobertura / index.html时,它说“MyMath”类有100%的行覆盖率(尽管“add”方法没有被执行)。当我点击“MyMath”链接时,它显示“无法找到math / MyMath.java。您是否指定了源目录?”。我是Maven和cobertura的新手。请有人指导我正确显示覆盖结果和“无法找到”问题。谢谢。

PS:我将项目结构更改为Maven标准目录布局为@drembert建议,它作为例外工作。但是当我点击类名时,错误:“无法找到 main / java / MyMath.java 。你有没有指定源目录?”还在那里。

0 个答案:

没有答案