首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让jenkins仅在部署到UAT时运行集成测试?

如何让jenkins仅在部署到UAT时运行集成测试?
EN

Stack Overflow用户
提问于 2020-02-14 08:18:46
回答 1查看 167关注 0票数 0

我使用的是jenkins,我有一个staging > qa > uat > master environment set.,我不希望jenkins在staging和qa环境中运行任何集成测试,只针对uat和master。

这样做有可能吗?如果是这样的话,是怎么做的?我的意思是,我应该在不同的包中分离单元测试和集成测试吗?今天我有:

代码语言:javascript
复制
src/main/java

src/test/java
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-14 11:02:45

定义接口IntegrationTest

代码语言:javascript
复制
    public interface IntegrationTest {}

并使用来自Junit4的注释@Category将您的测试分类为集成测试。

代码语言:javascript
复制
@Category(IntegrationTest.class)
public class YourTest

因此,使用maven surefirefailsafe插件来创建测试组。

代码语言:javascript
复制
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <excludedGroups>you.package.IntegrationTest</excludedGroups>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
                <includes>
                    <include>**/*.java</include>
                </includes>
                <groups>you.package.IntegrationTest</groups>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

集成测试将自动从默认执行中排除,即mvn clean包。但是,如果您运行mvn integration-test,所有集成测试都将运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60218348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档