integration

更新时间:2022-12-28 12:43:40 阅读: 评论:0


2022年12月28日发(作者:国庆节的英语作文)

Maven如何配置IntegrationTest

集成测试(IntegrationTest)简介

在很多项⽬的实际开发过程中,上线之前是需要做很多测试的,典型的有unit-test,function-test(有些项⽬不⽤),integration-test,E2E-

test等,unit-test是代码粒度的测试,⼀般是伪造⼀些输⼊来测试函数粒度的功能,⽽integration-test往往需要系统部署后之后才能进⾏相应

的测试,是系统级别输⼊的功能测试,所以我们在实际的代码打包过程就不能让integration-test提前执⾏,需要deploy新的代码,重启系统之

后再执⾏integration-test,否则由于没有运⾏着的系统,integration-test是⽆法通过的

Maven⽣存期

Maven本⾝⽀持的命令(Goals)是有顺序的,越后⾯执⾏的命令,会将其前⾯的命令和其本⾝按顺序执⾏⼀遍,具体的顺序如下所⽰:

validate

initialize

generate-sources

process-sources

generate-resources

process-resources

compile

process-class

generate-test-sources

process-test-sources

generate-test-resources

process-test-resources

test-compile

process-test-class

test

prepare-package

package

pre-integration-test

integration-test

post-integration-test

verify

install

从上⾯maven的⽣存期可以看出,install命令是最复杂的goal,它会将所有的goals都执⾏⼀遍,最终⽣成项⽬包,并发布到本地的或者配置

的.m2仓库中,那问题就来了,我们如何使其能够在install的时候不执⾏某些goals呢,⽐如我们的integration-test就是个例⼦。

配置

s

maven-failsafe-plugin

2.17

integration-tests

integration-test

verify

none

**/*

s

maven-surefire-plugin

2.6

fal

通过skip标签来指定跳过test的⾏为,默认是⽀持skipITs和skipTests,前者是跳过integration-test,后者是跳过所有的测试(稍微说明下,

跳过测试⽅法有很多种,⽐如maven-failsafe-plugin本⾝也⽀持加⼊skip选项,只不过实现之后每个命令的含义就略微有不同了,⼤家选择⾃⼰

最习惯的就好了).

Maven命令

有了上⾯的配置,我们就可以执⾏相应的runcommands了,具体每个命令的含义如下:

打包

mvnpackage

跳过所有测试(BTW,测试⽂件还是会被编译的)

mvnpackage-DskipTests

推荐的测试⽬录结构

UnitTestClass:src/test/java/**/**

IntegrationTestClass:src/test/java/**/**

TestCasdependentfiles:src/test/resources/*

编译并且只运⾏unittest

mvncleantest

编译并且只运⾏integration-test

mvnfailsafe:integration-test

运⾏unittest和integration-test

mvncleanintegration-test

发布包并且不运⾏任何的测试

mvninstall-DskipTests

发布包并且只运⾏unit-test

mvncleaninstall-DskipITs

发布包并且运⾏ut加it

mvncleaninstall

本文发布于:2022-12-28 12:43:40,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/46697.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:camilla
标签:integration
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图