如何在maven中只运行指定的junit组测试?

发布于 2025-01-04 14:47:00 字数 2428 浏览 3 评论 0 原文

我使用 maven 运行一组 junit 测试,分为两组:junit 单元测试不需要任何容器,集成 junit 测试不需要容器,但不是只运行此测试,maven 运行它们以及目录中的所有其他测试:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.11</version>
    <configuration>
        <testFailureIgnore>true</testFailureIgnore>
        <!-- <skipTests>false</skipTests> -->
        <parallel>both</parallel>
        <threadCount>10</threadCount>                            
        <forkMode>once</forkMode>
        <configuration>
            <groups>ru.package.IntegrationTestsNotRequiringContainerCategory</groups>
            <groups>ru.package.UnitTestsCategory</groups>
        </configuration>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.apache.maven.surefire</groupId>
            <artifactId>surefire-junit47</artifactId>
            <version>2.12</version>
        </dependency>
    </dependencies>
</plugin>

但此配置运行所有 测试检测到的测试:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running javalangtests.AnnotationTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec
Running ru.project.envers.ModelInformationServiceTest
Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.773 sec
Running ru.project.reflection.FieldServiceTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec
Running ru.project.reflection.HibernateServiceTest
Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.127 sec

其他测试在没有容器的情况下会失败,但它们根本不能运行:

Running ru.project.utils.ListUtilsTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec
Running ru.project.jreports.JReportControllerTest
Tests run: 4, Failures: 0, Errors: 4, Skipped: 0, Time elapsed: 5.961 sec <<< FAILURE!
Running ru.project.map.MapTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.656 sec <<< FAILURE!
Running ru.project.TestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.002 sec <<< FAILURE!

I run groups of junit tests using maven, two groups: junit unit tests not requiring any container, integration junit tests not requiring container but instead of running only this tests maven runs both them and all other tests in the directory:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.11</version>
    <configuration>
        <testFailureIgnore>true</testFailureIgnore>
        <!-- <skipTests>false</skipTests> -->
        <parallel>both</parallel>
        <threadCount>10</threadCount>                            
        <forkMode>once</forkMode>
        <configuration>
            <groups>ru.package.IntegrationTestsNotRequiringContainerCategory</groups>
            <groups>ru.package.UnitTestsCategory</groups>
        </configuration>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.apache.maven.surefire</groupId>
            <artifactId>surefire-junit47</artifactId>
            <version>2.12</version>
        </dependency>
    </dependencies>
</plugin>

but this config runs all detected tests:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running javalangtests.AnnotationTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec
Running ru.project.envers.ModelInformationServiceTest
Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.773 sec
Running ru.project.reflection.FieldServiceTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec
Running ru.project.reflection.HibernateServiceTest
Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.127 sec

Other tests fail without container but they must not be run at all:

Running ru.project.utils.ListUtilsTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec
Running ru.project.jreports.JReportControllerTest
Tests run: 4, Failures: 0, Errors: 4, Skipped: 0, Time elapsed: 5.961 sec <<< FAILURE!
Running ru.project.map.MapTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.656 sec <<< FAILURE!
Running ru.project.TestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.002 sec <<< FAILURE!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文