关于编写在项目的其他模块中执行Test类的Java类的建议

时间:2013-03-05 19:25:30

标签: java junit

我正在使用intellij idea 11来开发一个java项目。

我在项目下有各种模块,例如com.a.b.c,它有src和test文件夹。测试文件夹是项目的测试路径文件夹。该文件夹下有各种测试用例。

现在我需要编写一个新模块,它有一个java类,可以调用各种模块中的测试用例。我找不到办法。

我创建了一个模块,例如com.a.b.testsuite并且已经添加了对存在相应测试用例的其他模块的依赖。

请建议我更进一步?我可以使用JUnitCore类吗?我不知道如何使用它。

1 个答案:

答案 0 :(得分:1)

正如其他人所建议的那样 - 我建议将您的项目转换为Maven项目。

然后在您的POM中创建一个配置文件并使用类似这样的cobertura插件:

<profile>
        <id>testcheck</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>cobertura-maven-plugin</artifactId>
                    <version>2.5.1</version>
                    <configuration>
                        <check>
                            <branchRate>0</branchRate>
                            <lineRate>0</lineRate>
                            <haltOnFailure>true</haltOnFailure>
                            <totalBranchRate>90</totalBranchRate>
                            <totalLineRate>90</totalLineRate>
                            <packageLineRate>0</packageLineRate>
                            <packageBranchRate>0</packageBranchRate>
                        </check>
                    </configuration>
                    <executions>
                        <execution>
                            <phase>verify</phase>
                            <goals>
                                <goal>clean</goal>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>

这确实是最好的方式。特别是因为您在项目中包含的每个模块也可以拥有自己的POM,并拥有自己的覆盖率和支票。