gpt4 book ai didi

maven - 如何为运行(Cucumber)验收测试指定一个单独的 Maven 目标?

转载 作者:行者123 更新时间:2023-12-04 03:15:55 26 4
gpt4 key购买 nike

我有以下项目结构:

MyProject
--src
--test
--acceptance
--step_definitions
--features
--unit

我希望能够在 Maven 中与在 test/unit 中声明的单元测试分开运行我的 cucumber 测试(在测试/验收中),以便它们可以在不同的 CI 构建计划等中运行。我正在使用 cucumber-junit 所以每个验收测试的“运行程序”都是用 JUnit 编写的。

这可能吗?

最佳答案

Is this possible?



是的,有可能。我相信您应该将您的单元与验收/集成测试分开:

修改文件夹结构对于这两个,将您的集成测试文件放在 standard locationsrc/it :
MyProject/
  • src/main/java/ (SUT)
  • src/test/ (单元测试代码)
  • java/
  • resources/
  • src/it/ (验收/集成测试)
  • java/ (步骤定义)
  • resources/ (功能文件)

  • 此外,根据设计, 不同的 Maven 插件 用于单元和集成测试:
  • 对于单元测试: maven-surefire-plugin
  • 验收/集成测试: maven-failsafe-plugin

  • 您还必须 bind execution of maven-failsafe-pulgin .要单独运行集成测试,您可以定义一个新配置文件:
    <profiles>
    <profile>
    <id>acceptance-tests</id>
    <build>
    <plugins>
    <plugin>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.12</version>
    <executions>
    <execution>
    <goals>
    <goal>integration-test</goal>
    <goal>verify</goal>
    </goals>
    </execution>
    </executions>
    </plugin>
    </plugins>
    </build>
    </profile>
    </profiles>

    您还需要 configure the plugin to search src/it测试用例的目录树。

    验收测试可以在之后使用:
    mvn clean verify -Pacceptance-tests

    如需完整示例,我建议您关注 http://www.weblogism.com/item/334/integration-tests-with-cucumber-jvm-selenium-and-maven

    关于maven - 如何为运行(Cucumber)验收测试指定一个单独的 Maven 目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18164579/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com