当前位置: 首页 > news >正文

做网站电子版报价模板荣耀手机官网

做网站电子版报价模板,荣耀手机官网,优设网官方网,东莞阳光网投诉查看目录 前言#xff1a; 1.什么是Junit 2.Junit相关的技术 2.1注解 2.1.1Test 2.1.2Disable 2.1.3BeforeAll和AfterAll 2.1.4BeforeEach和AfterEach 2.2参数化 2.2.1单参数 2.2.2多参数 2.2.2.1CSV获取参数 2.2.2.2方法获取参数 2.3测试套件 2.3.1通过class运行测…目录 前言 1.什么是Junit 2.Junit相关的技术 2.1注解 2.1.1Test 2.1.2Disable 2.1.3BeforeAll和AfterAll 2.1.4BeforeEach和AfterEach  2.2参数化 2.2.1单参数 2.2.2多参数 2.2.2.1CSV获取参数 2.2.2.2方法获取参数 2.3测试套件 2.3.1通过class运行测试用例 2.3.2通过包运行测试用例 2.4执行顺序 2.5断言 2.5.1断言相等 2.5.2断言不相等 2.5.3断言为空 2.5.4断言不为空 结束语 前言 在上一篇博客中小编主要与大家分享了该如何使用selenium来完成自动化测试那么还有一种是JunitJunit是单元测试的框架而Selenium是自动化测试的框架Selenium是拿着一个技术写自动化测试用例而Junit是拿着一个技术管理已经编写好的测试用例。所以两者之间还是有一定的差别的。接下来咱们就来谈谈Junit中相关的技术吧。 1.什么是Junit Junit是针对Java的一个单元测试框架。 2.Junit相关的技术 2.1注解 在Junit注解主要有 TestDisableBeforeAllAfterAllBeforEachAfterEach 下面我们来给大家一一讲解演示一下。 2.1.1Test 在以前的代码中我们运行代码必须是通过主函数来进行运行的如下所示 代码展示 public class Test02 {public static void main(String[] args) {Test();}private static void Test() {System.out.println(这是一个Test方法);} }结果展示 那么通过Test这样的一个注解我们就可以直接进行运行了Test表示当前这个方法是一个测试用我们通过代码来感受一下。 代码展示 package JunitTest;import org.junit.jupiter.api.Test;public class JunitTest01 {Testvoid Test01() {System.out.println(这是JunitTest里面的Test01);} }这里我们就可以点击旁边的按钮来进行运行了。 注意点击①是运行整个程序的代码。点击②只是运行Test01这一块的代码。 结果展示  在上述中我们需要先去Maven中央仓库里导入依赖步骤入下所示 ①打开Maven中央仓库点击搜索Junit。 ②找到对应的依赖点击复制。注由于我们这里讲解的是Junit5所以小编这里复制的是5.9.1里面的 ③将依赖粘贴到pom文件中。 ④点击刷新Maven。 2.1.2Disable Disable表示直接忽视这块代码。 代码展示 package JunitTest;import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test;public class JunitTest02 {Testvoid Test01() {System.out.println(这是JunitTest02里面的Test01);}Testvoid Test02() {System.out.println(这是JunitTest02里面的Test02);}DisabledTestvoid Test03() {System.out.println(这是JunitTest02里面的Test03);} }如果没有该注释上面的代码执行结果应该是这样的。 但是如果有Disable这个注释的话Test03就会被忽视。 2.1.3BeforeAll和AfterAll BeforeAll是指在所有的测试用例运行之前跑对应的方法。AfterAll是指在所有的测试用例运行之后跑对应的方法。 代码展示 package JunitTest;import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test;public class JunitTest03 {Testvoid Test01() {System.out.println(这是JunitTest03里面的Test01);}Testvoid Test02() {System.out.println(这是JunitTest03里面的Test02);}Testvoid Test03() {System.out.println(这是JunitTest03里面的Test03);}BeforeAllstatic void SetUp() {System.out.println(这是BeforeAll里面的语句);}AfterAllstatic void TearDown() {System.out.println(这是AfterAll里面的语句);} }结果展示 需要注意的是我们要方法前面加上static将他变成静态的也就是类方法。 2.1.4BeforeEach和AfterEach  BeforeEach在每一个测试用例之前跑对应的代码。AfterEach 在每一个测试用例之后跑对应的代码。 代码展示 package JunitTest;import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test;public class JunitTest04 {Testvoid Test01() {System.out.println(这是JunitTest04里面的Test01);}Testvoid Test02() {System.out.println(这是JunitTest04里面的Test02);}Testvoid Test03() {System.out.println(这是JunitTest04里面的Test03);}BeforeEachvoid BeforeEachTest() {System.out.println(这是BeforeEach里面的语句);}AfterEachvoid AfterEachTest() {System.out.println(这是AfterEach里面的语句);} }结果展示 2.2参数化 如果我们想要在方法中传入参数会出现什么情况呢如下所示。 代码展示 package JunitTest;import org.junit.jupiter.api.Test;public class JunitTest05 {Testvoid Test01(int i) {System.out.println(i);} }结果展示 你会发现会报错原因是因为我们没有给注册一个参数。那么此时我们该怎么办呢这里就需要我们先在Maven里面导入一个依赖如下所示 将其复制到pom中并刷新。 此时我们就可以使用注解 ParameterizedTest了通过该注解我们就可以实现传递参数了具体的我们看下述操作。 2.2.1单参数 我们通过ValueSource就可以进行单参数的传递了。 代码展示 package JunitTest;import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource;public class JunitTest05 {ParameterizedTestValueSource(ints {1,2,3})void Test01(int num) {System.out.println(num);}ParameterizedTestValueSource(strings {1, 2, 3})void Test02(String number) {System.out.println(number);} }结果展示 2.2.2多参数 2.2.2.1CSV获取参数 如果我们想要进行多参数的传递那又该怎么传递呢 可以通过 CsvSource来进行传递它既可以进行单参数的传递也可以进行多参数的传递。 单参数 代码展示 package JunitTest;import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource;public class JunitTest06 {ParameterizedTestCsvSource({1,2,3})void Test02(String num) {System.out.println(num);}}结果展示 多参数 代码展示 package JunitTest;import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource;public class JunitTest09 {ParameterizedTestCsvSource({1,2, 3,4})void Test01(String str, int num) {System.out.println(str : num);} }结果展示 也可以通过 CsvFileSource来传递。 代码展示 import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvFileSource;public class Test01 {ParameterizedTestCsvFileSource(resources test01.csv)void Test01(int num, String name) {System.out.println(num : name);} }结果展示 注意在上述代码中我们是通过以下的方式来创建一个.csv文件的。 然后就在文件中进行填写数据即可。 2.2.2.2方法获取参数 除了上述的三种方式之外我们还可以通过MethodSource来传递参数。 代码展示 package JunitTest;import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource;import java.util.stream.Stream;public class JunitTest08 {public static StreamArguments Generator() {return Stream.of(Arguments.arguments(1,张三));}ParameterizedTestMethodSource(Generator)void Test01(String num, String name) {System.out.println(num : name);} }结果展示 2.3测试套件 2.3.1通过class运行测试用例 这里我们先在java文件夹中新建两个.class类。 代码展示 代码① ​​​​​​​代码② import org.junit.jupiter.api.Test;public class Test04 {Testvoid Test04() {System.out.println(Test04);} }代码③ import org.junit.platform.suite.api.SelectClasses; import org.junit.platform.suite.api.Suite;Suite //通过class测试用例运行 SelectClasses(value {Test03.class,Test04.class}) public class RunSuite { }结果展示:    2.3.2通过包运行测试用例 在上述代码中我们是通过class来运行的这里我们来通过包来运行。 代码展示 import org.junit.platform.suite.api.SelectPackages; import org.junit.platform.suite.api.Suite;Suite //通过包来运行测试用例 SelectPackages({Test1,Test2}) public class RunSuite2 { }结果展示 2.4执行顺序 我们先来看下面这个代码的执行顺序。 代码展示 package JunitTest;import org.junit.jupiter.api.Test;public class JunitTest11 {Testvoid A() {System.out.println(A);}Testvoid B() {System.out.println(B);}Testvoid C() {System.out.println(C);}Testvoid D() {System.out.println(D);} }结果展示 如果我们现在换一下代码块之间的顺序结果会是什么呢 代码展示 package JunitTest;import org.junit.jupiter.api.Test;public class JunitTest11 {Testvoid D() {System.out.println(D);}Testvoid A() {System.out.println(A);}Testvoid C() {System.out.println(C);}Testvoid B() {System.out.println(B);} }结果展示  你会发现即是是换了代码的顺序结果还是一样的没有变那么我们该怎么让代码的顺序变动呢 这里我们可以借助TestMethodOrderer来指定执行的顺序具体使用请看代码。 代码展示 package JunitTest;import org.junit.jupiter.api.MethodOrderer; import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestMethodOrder;TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class JunitTest11 {Order(1)Testvoid D() {System.out.println(D);}Order(2)Testvoid A() {System.out.println(A);}Order(3)Testvoid C() {System.out.println(C);}Order(4)Testvoid B() {System.out.println(B);} }结果展示 通过上述的方法我们就可以让代码来按照我们指定的顺序来进行执行了。 2.5断言 如果我们需要对测试用例进行预期的判断判断我们的结果是不是和我们的预期相符那么此时我们就可以使用断言这样的操作来进行判断这里我们具体看下面的代码案例。 2.5.1断言相等 代码展示 package JunitTest;import org.junit.jupiter.api.Assertions; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource;public class JunitTest12 {ParameterizedTestValueSource(ints {1})void Test01(int num) {System.out.println(num);//在这里判断我们接收到的参数是不是1Assertions.assertEquals(1,num);} }结果展示 我们可以看到结果展示的是1那就说明我们的预期结果与实际结果是相符的。  2.5.2断言不相等 代码展示 package JunitTest;import org.junit.jupiter.api.Assertions; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource;public class JunitTest13 {ParameterizedTestValueSource(ints {1})void Test01(int num) {System.out.println(num);//在这里判断接收到的参数是不是与预期的不相符也就是断言不相等Assertions.assertNotEquals(1,num);} }结果展示 注意这里是预期的如果与实际的相符的话就会报错 2.5.3断言为空 断言为空就是判断接收到的值是不是空值。 代码展示 package JunitTest;import org.junit.jupiter.api.Assertions; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource;public class JunitTest14 {ParameterizedTestValueSource(ints {1})void Test01(int num) {System.out.println(num);//判断断言是不是空值Assertions.assertNull(num);} }结果展示 上述代码的结果表明接收到的值不为空。 2.5.4断言不为空 断言不为空就是判断如果断言是空的话就报错不为空才是正确的。 代码展示 package JunitTest;import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test;public class JunitTest15 {Testvoid Test01() {String str 1;Assertions.assertNotNull(str);System.out.println(str);} }结果展示 上述结果表明str不是空值。 结束语 希望这节对大家学习自动化测试有一定的帮助下节中小编将重点给大家介绍一下Junit里的一些操作想要学习的同学记得关注小编和小编一起学习吧如果文章中有任何错误也欢迎各位大佬及时为小编指点迷津在此小编先谢过各位大佬啦
http://mrfarshtey.net/news/73497/

相关文章:

  • 福州专业制作网站天津电力建设公司怎么样
  • 沧州网站域名注册服务公司怎么自己设计logo
  • 微商城网站建设案例邢台123网
  • 网站开发亿玛酷1专注南涧县城乡建设局网站
  • 做网站客户总是要退款室内装潢装修学校
  • 支付公司网站建设费账务处理七台河网站建设
  • 个人门户网站开发成都互联网制作
  • 高中生做网站手机版网站模板 免费
  • 手机网站类型顺义建设工程交易中心网站
  • 做商城网站多少钱wordpress 3.0.1
  • 揭阳网站建设模板网站建设的几种形式
  • 淄博网站推广毕业设计网站设计
  • 信誉好的营销单页网站wordpress中间页跳转插件
  • 保定网站设计制作有个专门做dnf游戏币的网站
  • 网站开发网页上传和网页发布青州住房建设局网站
  • 做网站九州科技公司简介范本
  • 西安哪有做网站的汝南企业网站建设
  • 西宁网络信息 网站建设电商网站运营方案
  • 如何把自己做的网站放到内网宁波男科医院
  • 如何免费做网站并发布微信网站建设平台
  • 做视频图片博客网站阿里云搜索
  • 网站开发的内容给客户做一个网站ppt怎么做
  • 医疗电子科技网站建设网站开发 性能方面
  • 网站建设 设计 优化 维护企业网站模板整套
  • 电子政务网站代码wordpress 安卓
  • 用备案的网站做违法网站世界上做的最后的网站
  • 网站建设 福步 2018wordpress推广插件
  • 线上网站开发系统流程图网站 用户粘度
  • 外贸看的英文网站网站建设案例 杭州远大
  • 找做网站签证就业信息网页设计论文