首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

走进Java接口测试之构建工具Maven入门

有时候你引入的依赖中包含你不想要的依赖包,你想引入自己想要的,这时候就要用到排除依赖了,比如下图中 spring-boot-starter-web 自带了 logback 这个日志包,我想引入 log4j2...maven 本身并不是一个单元测试框架,maven 做的只是在构建执行到特定生命周期阶段的时候,通过插件来执行 Junit 或 TestNG 的测试用例。...这插件是 maven-surefire-plugin—测试运行器 默认情况下,maven-surefire-plugin 的 test 目标会自动执行测试源码路径(默认 src/test/java/)下所有符合一组命名模式的测试类如...:任何子目录下所有命名以Test结尾的java类 跳过测试 mvn package-DskipTests 第一种方式:POM中配置 maven-surefire-plugin 插件提供该属性(一般不推荐...两个插件的行为,测试代码编译跳过,测试运行跳过 maven.test.skip 的 POM 配置如下: org.apache.maven.plugins</groupId

1.2K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Maven 跳过单元测试

    在这些情况下,我们可以跳过测试以避免编译和运行测试时发生的时间。在本文中,我们将了解可用于跳过 maven 项目中的测试的各种方法。 2、几种跳过的方法 可以在插件标签的配置中设置跳过测试元素属性。...在使用surefire时,通过在pom.xml的插件标签中使用exclude元素和要排除的类的名称来排除一些测试类 2.1.跳过pom中的测试元素 如果您希望跳过某个项目的测试,您可以通过以下方式在项目的...pom.xml 文件的插件标记中将 skipTests 属性指定为 true: org.apache.maven.plugins...大多数测试插件都支持这个属性,包括failsafe和surefire,甚至maven的编译器插件。...当需要执行测试时,在命令行中为 maven 执行的命令中指定属性值来覆盖此属性的值。

    1.4K20

    Maven

    在用户范围定制Maven的行为 lib:该目录包含了所有 Maven 运行时需要的Java类库和 Maven 用到的第三方依赖 更换镜像 全局配置 打开apache-maven-3.8.4/conf...provided :在编译、测试时有效,但是在运行时无效,也就是说,项目在运行时,不需要此依赖,比如 Lombok,我们只需要在编译阶段使用它,编译完成后,实际上已经转换为对应的代码了,因此Lombok...test :只在测试时有效,例如:JUnit,我们一般只会在测试阶段使用JUnit,而实际项目运行时,我们就用不到测试了,那么我们来看看,导入JUnit的依赖: 同样的,我们可以在网站上搜索Junit的依赖...由于Mybatis要支持多种类型的日志,需要用到很多种不同的日志框架,因此需要导入这些依赖来做兼容,但是我们项目中并不一定会使用这些日志框架作为Mybatis的日志打印器,因此这些日志框架仅Mybatis...Maven常用命令 我们可以看到在IDEA右上角Maven板块中,每个Maven项目都有一个生命周期,实际上这些是Maven的一些插件,每个插件都有各自的功能,比如: clean命令,执行后会清理整个target

    68730

    Springfox Swagger 项目接口自动化管理平台

    @ContextConfiguration(locations = { "classpath:*-test.xml"}) maven-surefire-plugin 为了能在编译时运行测试类需要增加此插件...设置了此插件并设置了true则测试类不会运行,得将此设置去除 利用MAVEN生成swagger.json 思路 Test中利用Mock生成swagger.json 利用maven-surefire-plugin...、task等实例注入类引用(Autowired、Resource等) - 观察测试日志,解决影响swagger.json生成的报错 配置遇到的问题 maven-surefire-plugin插件中skip.../env/maven/2018-06-27-maven-surefire-plugin.md 生成的文档里只有一个license的报错返回日志 {"code":"0x02f10003","msg":"xxx.xxx.license.expire...实际运行时调用的是2.5版本的。 可通过在IDEA中的项目lib管理中删除2.5版本的jar包后来执行测试类,实际运行结果是可以生成的,所以核心问题是解决jar包版本冲突。

    2.9K30

    使用JaCoCo Maven插件创建代码覆盖率报告

    配置JaCoCo Maven插件 我们使用JaCoCo Maven插件有两个目的: 它使我们可以访问JaCoCo运行时代理,该代理记录了执行覆盖率数据。...它根据JaCoCo运行时代理记录的执行数据创建代码覆盖率报告。 我们可以按照以下步骤配置JaCoCo Maven插件: 将JaCoCo Maven插件添加到我们的POM文件的插件部分。...配置集成测试的代码覆盖率报告 我们可以通过在插件声明中添加两个执行来为集成测试配置代码覆盖率报告。这些执行方式如下所述: 第一次执行将创建一个指向JaCoCo运行时代理的属性。...下一步是配置Maven Surefire插件。让我们找出如何做到这一点。 配置Maven Surefire插件 我们使用Maven Surefire插件运行示例应用程序的单元测试。...剩下要做的就是配置Maven Failsafe插件。让我们找出如何做到这一点。 配置Maven故障安全插件 我们的示例应用程序的集成测试由Maven Failsafe插件运行。

    1.9K20

    学习Maven之Maven Surefire Plugin(JUnit篇)「建议收藏」

    maven-surefire-plugin是maven里执行测试用例的插件,不显示配置就会用默认配置。这个插件的surefire:test命令会默认绑定maven执行的test阶段。...答案是肯定的。虽说maven-surefire-plugin有默认配置,但是当需要修改一些测试执行的策略时,就有必要我们去重新配置这个插件了。...,maven只是作为一个调用器调用了一下这些测试用例. 3.进阶 后面让我们来研究一下maven-surefire-plugin这个插件更多的知识,这些多数都是和配置相关的. 3.1.跳过测试用例 在工作中...,有时候会出现这种情况,IED中直接执行测试用例是没问题的,但是用maven命令打包时就执行失败了.我们可以在命令中加入-X或--debug来打印更多的日志信息来排查问题.但也可以开启JVM的调试端口来远程...开始debug你的程序吧. 3.8.并发执行测试用例 如果测试用例很多,而且并行执行时不会互相影响,这时我们可以配置一个线程数来加快测试用例的执行效率.

    6.9K30

    秒懂如何使用SpringBoot+Junit4进行单元测试

    // 如果使用maven运行测试用例,需要在maven-surefire-plugin插件中将本基类排除执行,否则会报错,因为没有测试用例 } 然后,我们的测试基类继承该测试基类: public...倘若我们在提交代码前,要运行所有的单元测试该怎么操作呢?总不可能一个个地打开所有地测试类,都点击运行一遍吧。 这里介绍使用Maven的插件进行单元测试运行的集成操作。...5.6 测试报告及覆盖率的查看 如果仅靠上面引入的maven-surefire-plugin插件,那么你只能在控制台看到运行的测试报告,如果要跟别人分享,十分不方便。...可以通过引入maven-surefire-report-plugin插件: org.apache.maven.plugins...5.7 其它配置 关于maven-surefire-plugin插件还有很多其它配置内容,可以参考文末引用自行阅读尝试。

    1.9K30

    Maven环境配置及介绍

    ,默认是compile compile 编译依赖范围,使用此依赖范围对于编译、测试、运行三种classpath都有效,即在编译、测试和运行时都要使用该依赖jar包; test 测试依赖范围,只对测试有效...,表明只在测试的时候需要,在编译和运行时将无法使用该类依赖,如 junit; provided 已提供依赖范围。...编译和测试有效,运行无效。如servlet-api,在项目运行时,tomcat等容器已经提供,无需Maven重复引入; runtime 运行时依赖范围。测试和运行有效,编译无效。...生成站点 Apache maven –surefire -plugin 执行测试 Apache maven –jar -plugin 构建JAR项目 Apache maven –war -plugiin...生成PMD报告 Apache maven –project –info -reports –plugin 生成项目信息报告 Apache maven –surefire –plugin 生成单元测试报告

    1K10

    Maven项目管理

    其默认值为jar scope:依赖的范围 optional:标记依赖是否可选 exclusions:用来排除传递性依赖 scope属性: compile :为默认的依赖有效范围。...provided :在编译、测试时有效,但是在运行时无效,也就是说,项目在运行时,不需要此依赖 比如Lombok,只需要在编译阶段使用它,编译完成后,实际上已经转换为对应的代码了,因此Lombok不需要在项目运行时也存在...如果需要自己写一个JDBC实现,那么肯定要用到JDK为我们指定的接口,但是实际上在运行时是不用自带JDK的依赖,因此只保留我们自己写的内容即可。...test :只在测试时有效 例如:JUnit只会在测试阶段使用JUnit,而实际项目运行时就用不到测试了 system:作用域和provided是一样的,但是它不是从远程仓库获取,而是直接导入本地...板块中,每个Maven项目都有一个生命周期,实际上这些是Maven的一些插件,每个插件都有各自的功能: clean命令,执行后会清理整个target文件夹,在之后编写Springboot项目时可以解决一些缓存没更新的问题

    28730

    使用Maven -test自动完成测试用例执行

    在使用Junit或者TestNG的时候,都会涉及到如何运行测试用例集的问题,在没有Maven之前,需要配置Ant或者别的方式来完成对单元测试。...一旦使用了Maven,包括与Jenkins的集成都会瞬间变得简单。 在Idea中可以看到Maven的管理菜单,点击Maven test就可以执行TestNG的所有用例(匹配条件)。...,接着运行Maven test,就会自动执行这个类中的测试方法,并且生成报告。...默认包含的测试类: **/*Test.java **/Test*.java **/*TestCase.java 默认排除的测试类: **/Abstract*Test.java **/Abstract*TestCase.java...如果需要调整匹配模式需要去修改maven-surefire-plugin插件配置,在Pom.xml中添加 org.apache.maven.plugins</groupId

    1.1K20

    maven基础知识

    假如你的项目依赖于一个库,而这个库又依赖其他,maven自动加入这些,也可以排除一些特定的传递性依赖。...当一个依赖的范围是test的时候,说明它在compiler插件运行compile目标的时候是不可用的。...当maven来创建war或jar,你可以配置maven让它在生成的构件中捆绑依赖,也可以用provided范围,让它排除war文件中特定的依赖。...已提供范围的依赖在编译classpath(不是运行时)可以用。他们不是传递性的,也不会被打包。 runtime(运行时范围) rentime依赖在运行和测试系统的时候需要。但在编译的时候不需要。...test(测试范围) test范围依赖在一般的编译和运行时都不需要,他们只有在测试编译和测试运行阶段可用。

    73060

    测试开发基础 mvn test | 利用 Maven Surefire Plugin 做测试用例基础执行管理

    这个时候就需要 Maven 登场了,利用 Maven 的Maven-Surefire-Plugin插件可以帮助我们完成上述的目标!它可以通过命令行的形式来管理我们要执行的用例。...] 执行完之后我们打开 target,所有 maven 执行完的结果都会在 target 目录下的 surefire-reports 下: [image.png] 其中: xml:可用于 Jenkins...抱歉,又要失望了,Google 到别人的解释如下(已翻译完成~): [image.png] 简单的说就是 surefire 插件暂时还不支持在 Junit5 下执行继承至 Junit4 的 @RunWith...例如这里我默认只想执行 MavenPackageDemoTest ,而另外两个 MavenDemo 开头的测试类我都不想执行,这个时候可以在 pom 中做如下配置,在 surefire 插件下添加 configuration...七、写在最后 这里介绍了 maven-surefire-plugin 插件在测试执行中的一些常见用法,还有很多其他的用法,例如: 使用很复杂的格式匹配 控制在不同级别上的多线程和多进程执行 后续将慢慢研究补充

    2.2K01

    Apache Maven 入门篇

    写这两篇文章特意回避了复杂的示例,也不使用 IDE ,目的是排除干扰,着重于 maven 本身。 本文的源代码可从这里下载。   Apache Maven 是做什么用的?...运行时候的 POM 要复杂的多。...如果你想看到运行时候的 POM 的全部内容的话,可以运行下面的命令: $mvn help:effective-pom Maven 插件 在第一篇文章中,我们用了 mvn archetype:generate...比如说Jar插件,Compiler插件,Surefire插件等。从看名字就能知道,Jar 插件包含建立Jar文件的目标, Compiler 插件包含编译源代码和单元测试代码的目标。...Surefire 插件的话,则是运行单元测试。 看到这里,估计你能明白了,mvn 本身不会做太多的事情,它不知道怎么样编译或者怎么样打包。它把构建的任务交给插件去做。

    793100
    领券