
单元测试
文章平均质量分 56
单元测试
舌尖上的蛋炒饭
持续学习是一个人的自我修养,你的行为方式为人处事潜移默化的被书中的人或事影响。在自己的身上不断演绎着忒修斯之船悖论,才是保持思考与年轻的关键。世界纷繁复杂,社会花花绿绿,每个人都在时间中奔跑啊,记得偶尔停下来,生活不止有短视频不止有游戏不止有工作,除了是一个看客一个player一个员工,还是父母的儿子是妻子的丈夫也是一个可以独立思考的人。
展开
-
解决mvn clean install遇到testng单元测试失败时打包也失败的问题
在Maven构建过程中,测试是其生命周期的一部分,每一个构建过程都会执行项目中的测试用例,如果遇到一个测试失败,默认会停止当前的构建。maven-surefire-plugin插件默认会自动执行测试源码包(即test目录下)中遵循以下命名规则的java测试类。如果遇到测试失败时,依然希望继续构建项目,那么需要设置surefire插件的testFailureIgnore属性为true。再次执行mvn clean install,就算失败了也没问题,照样打包成功。新增上面这个配置,即可。看这个之前请先看这个。原创 2023-08-04 11:00:01 · 2924 阅读 · 0 评论 -
Git合并分支并提交到github+删除分支
Git合并分支并提交到github+删除分支无冲突首先切换到mastergit merge dev然后会让你编辑一下为什么要merge,编辑完成后esc+wq保存即可。git push origin master推送完成后检查github的master分支,发现已经合并到一起了。删除分支我们既然都将dev的代码提交到master上了,那就可以把对应的分支删除了。删除远程分支ZHR:NewCRUD zc$ git push origin --delete devTo https://原创 2021-10-28 19:52:20 · 448 阅读 · 0 评论 -
Jenkins的webhook-自动部署-单分支自己玩儿版
Jenkins的webhook-自动部署-单分支自己玩儿版依赖项目:传送门虽说现在很多项目还都是手动发布,但是自动发布的技术我们还是应该了解一下hook,翻译过来是钩,流程就是Jenkins生成一个地址A,配置到GitHub上,每当github接收到push请求的时候,就告诉地址A,说我这里接受到了push请求,而Jenkins就可以自动发布了。试一下就很气,国内不是不好访问github么,我的jenkins在云主机上,现在就本地可以提交代码了,jenkins连不上github,j原创 2021-10-27 17:21:29 · 312 阅读 · 0 评论 -
Jenkins配置发送邮件
Jenkins配置发送邮件这篇博客的依赖博客传送门首先我们来说一下我们要做什么废话,当然是发送邮件了,但是,发送邮件我们要发送什么邮件,发送的是测试报告的邮件,那这个邮件你至少应该知道在哪里我们首先来看一下这个服务部署后发生了什么那我们来看一下这个目录下有什么,发现clean test后生成了测试 报告,我们就是要把这里的测试报告通过邮件发出去[root@hecs-82454 NewCRUD]# pwd/var/lib/jenkins/workspace/NewCRUD[root@hecs原创 2021-10-27 11:33:57 · 491 阅读 · 0 评论 -
Git初始化项目并提交到github
Git初始化项目并提交到github第一步 初始化本地仓库。此时,生成.git目录git init第二步 添加代码,向缓存区中添加文件git add .#.表示当前所有文件git add README.md #把README.md文件添加到缓存区第三步 提交代码到本地仓库git commit -m "content"第四步 添加远程仓库地址git remote add origin https://github.com/zhangyinrainbow/SpringbootNoS原创 2021-10-26 17:20:53 · 684 阅读 · 0 评论 -
Git新建分支并提交到github
Git新建分支并提交到github从master检索出一个新的分支ZHR:NewCRUD zc$ git checkout -b devSwitched to a new branch 'dev'检查现在的所在的分支ZHR:NewCRUD zc$ git branch* dev master从master拉取最新的代码ZHR:NewCRUD zc$ git rebase masterCurrent branch dev is up to date.毕竟是刚拉取的代码,现在一定是原创 2021-10-26 17:20:14 · 279 阅读 · 0 评论 -
Jenkins的按照分支部署+部署后打包上传到服务器
Jenkins的按照分支部署+部署后打包上传到服务器安装Publish Over SSH 插件配置Publish over SSH这个配置就是说你把打包好的文件上传到哪台服务器上逻辑关系为:Jenkins所在的主机为A,我们要把打包的文件上传到主机B,那我们就需要Jenkins登录到主机B上,按照正常的理解,比如说我要去朋友家,应该是朋友把他的钥匙,给我,我就可以出入他家了,但是ssh免密登录的逻辑是相反的,我要去朋友家,我要先把自己的钥匙给朋友,这样我就可以出入朋友家了,是不是很神奇?这个比喻原创 2021-10-26 15:59:19 · 1713 阅读 · 0 评论 -
Jenkins+Maven+TestNg执行单元测试
Jenkins+Maven+TestNg执行单元测试环境信息: githubJenkins:华为云搭建,个人建议,jenkins的版本高一点,因为很多插件在低版本的Jenkins上都没办法安装,我原来的版本是jenkins-2.222.1-1.1.noarch.rpm,后来重装成了jenkins-2.263.2-1.1.noarch.rpm才可以安装单元测试插件<dependency> <groupId>org.testng</groupId&原创 2021-10-25 18:09:22 · 2006 阅读 · 3 评论 -
集成测试maven报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project NewCRUD: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test failed.原因,通过testng+maven的方式执行集成测试出的错误经过验证呢,发现只原创 2021-10-21 17:03:08 · 2488 阅读 · 2 评论 -
理解maven命令package、install、deploy的联系与区别
我们在用maven构建java项目时,最常用的打包命令有mvn package、mvn install、deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但这三个命令还是有区别的。下面通过分别执行这三个命令的输出结果,来分析各自所执行的maven的生命周期。mvn clean packagemvn clean installmvn clean deploy(忽略最后的BUILD FAILURE)通过三个命令的输出我们可以看出三者的区别在于包函的maven生命的阶段转载 2021-10-21 15:48:07 · 903 阅读 · 0 评论 -
Mockito之:Spy
Mockito之:Spy被测试方法package com.newcrud.learn;import lombok.Data;@Datapublic class MySpy { int a=100; public void fun(){ System.out.println("fun"); funOne(); funTwo(); } public void funOne(){ System.out.p原创 2021-10-20 20:50:25 · 1384 阅读 · 0 评论 -
SpringBoot的TestNg之编码执行+失败重跑+发送邮件
SpringBoot的TestNg之编码执行+失败重跑我的设计思路是这样的,直接在SpringBoot添加对应的Controller层和service层,将运行和失败重跑直接封装成接口。其实Controller层来实现调用只是一种方式一种出口,重要的是实现层的设计,才是血是肉。设计思路1、实现一个跑全部用例的接口2、实现一个跑失败用例的接口3、既然我们执行了用例,就要看到结果,那我们就通过邮件的方式来接收结果邮件发送功能添加JavaMail API地址: 传送门将其添加到pom文件中开启原创 2021-10-19 16:23:22 · 609 阅读 · 0 评论 -
TestNg之软硬断言
TestNg之软硬断言场景,比如说我有一个测试方法,需要验证两个参数,一个校验失败了但是不能影响另一个,我们先来看一下平时我们使用的硬断言的结果package com.newcrud.testngTest;import org.testng.Assert;import org.testng.annotations.Test;public class TestFour { @Test public void testA() { System.out.println原创 2021-10-14 19:54:34 · 196 阅读 · 0 评论 -
TestNg之invocationCount和invocationTimeOut
TestNg之invocationCount和invocationTimeOut场景:我想要一个接口运行10次,一共消耗的时间不能大于11000毫秒package com.newcrud.testngTest;import org.testng.annotations.Test;public class TestFour { @Test(invocationCount = 10,invocationTimeOut =11000 ) public void testA() throw原创 2021-10-14 19:41:54 · 266 阅读 · 0 评论 -
TestNg的xml文件编写
TestNg的xml文件编写time-out 在本测试中的所有测试方法上使用的默认超时。那么这个超时时间和注解上的超时时间哪个优先级更高呢,时间出真知,经过验证,在已经有超时注解的方法上,以方法上的为准,在没有超时注解的方法上,会默认以xml文件上的为准。下面是验证过程。下面这个java类也是后续的测试类,如果有修改会特殊标注出来package com.newcrud.testngTest;import org.testng.annotations.Test;public class TestF原创 2021-10-14 18:48:04 · 254 阅读 · 0 评论 -
TestNg之监听器@Listener
TestNg之监听器@Listener@Listener位置和其他的注解放在方法上不同,@Listener是放在类上的@Listener注解内容首先我们来看一下@Listener这个注解里面是什么//// Source code recreated from a .class file by IntelliJ IDEA// (powered by FernFlower decompiler)//package org.testng.annotations;import java.l原创 2021-10-14 10:30:40 · 1254 阅读 · 0 评论 -
TestNg如何生成结果文件
TestNg如何生成结果文件测试一下第二个接口一定会报错package com.newcrud.testngTest;import org.testng.annotations.Test;public class TestFour { @Test public void testE(){ System.out.println("E"); } @Test(timeOut = 3000) public void testF() throw原创 2021-10-12 20:24:43 · 108 阅读 · 0 评论 -
TestNg常用enable、timeOut、exceptedException、groups、dependsOnGroups、dependsOnMethods、@Paramters、priority
TestNg常用注解:enable、timeOut、exceptedException、groups、dependsOnGroups、dependsOnMethods、@Paramters、priority@Test忽略测试 enable调整前package com.newcrud.testngTest;import org.testng.annotations.Test;public class TestFour { @Test public void testB(){原创 2021-10-12 18:18:17 · 580 阅读 · 0 评论 -
TestNg不同测试类中同名的groups引发的问题
TestNg不同测试类中同名的groups引发的问题原来有这么一个测试类,其中groups有one和twopackage com.newcrud.testngTest;import org.testng.annotations.*;public class TestOne { @Test public void testOne(){ System.out.println("testOne"); } @Test public void tes原创 2021-10-12 10:26:54 · 155 阅读 · 0 评论 -
TestNg的各种Before+各种After+执行优先级
TestNg的各种Before+各种After+执行优先级准备三个测试类package com.newcrud.testngTest;import org.testng.annotations.*;public class TestOne { @Test public void testOne(){ System.out.println("testOne"); } @Test public void testTwo(){ S原创 2021-10-09 20:29:50 · 1119 阅读 · 0 评论 -
Mockito之:深度mock+不打桩都mock了啥+我想用被mock了的类的真实方法+我mock了返回为void的函数怎么办+mock的方法返回为Exception怎么办
Mockito之:深度mock+不打桩都mock了啥+我想用被mock了的类的真实方法+我mock了返回为void的函数怎么办+mock的方法返回为Exception怎么办先把两个测试类摆在这里package com.newcrud.service.impl;import org.springframework.stereotype.Component;@Componentpublic class MyMockTwoServiceImpl { //这个是为了验证深度mock p原创 2021-09-24 17:56:03 · 1613 阅读 · 0 评论 -
SpringBoot+Mockito的简单使用
SpringBoot+Mockito的简单使用引入依赖 <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>1.10.19</version> <scope>test<原创 2021-06-25 16:21:07 · 1898 阅读 · 0 评论 -
TestNG在springboot中的简单使用
TestNGTestNG在springboot中的简单使用引入依赖 <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.10</version> <scope>test</s原创 2021-06-25 15:54:25 · 979 阅读 · 0 评论