湖北棋牌游戏下载安装

<small id='zcg4u'></small><noframes id='zcg4u'>

  • <tfoot id='zcg4u'></tfoot>

      <legend id='zcg4u'><style id='zcg4u'><dir id='zcg4u'><q id='zcg4u'></q></dir></style></legend>
      <i id='zcg4u'><tr id='zcg4u'><dt id='zcg4u'><q id='zcg4u'><span id='zcg4u'><b id='zcg4u'><form id='zcg4u'><ins id='zcg4u'></ins><ul id='zcg4u'></ul><sub id='zcg4u'></sub></form><legend id='zcg4u'></legend><bdo id='zcg4u'><pre id='zcg4u'><center id='zcg4u'></center></pre></bdo></b><th id='zcg4u'></th></span></q></dt></tr></i><div id='zcg4u'><tfoot id='zcg4u'></tfoot><dl id='zcg4u'><fieldset id='zcg4u'></fieldset></dl></div>

          <bdo id='zcg4u'></bdo><ul id='zcg4u'></ul>

          1. <li id='zcg4u'><abbr id='zcg4u'></abbr></li>
          2. Tin t??c Bitcoinh?c ti?ng Trung onlineyoga Viet Nam
            • ACCP软件工程师
            • BENET网络工程师
            • JAVA+大数据
            • Python工程师
            • 云计算工程师
            • Web前端工程师
            • 软件测试工程师

            java单元测试框架junit5有哪些版本变化呢?

            2018年03月23日 09:06供稿中心:兆隆教育

            摘要: junit是最常用的java单元测试框架之一. 目前junit5已经推出了5.0.0 Alpha版, 那么junit5相对于junit4有什么变化呢? 有什么新特性呢? 在这里我们聊一下junit5的变化和新特性.
            软件测试培训已经成了大部分人选择进入软件测试岗位的首选,那么对于软件测试新手而言,了解测试框架新版本特性也是非常有必要的事情。junit是最常用的java单元测试框架之一. 目前junit5已经推出了5.0.0 Alpha版, 那么junit5相对于junit4有什么变化呢? 有什么新特性呢? 在这里我们聊一下junit5的变化和新特性.
            junit5软件测试框架

            Java版本
            junit 5只支持java 8及以上. 按照《junit 5用户指南》的说法, junit 5也可以测试低版本jdk编译的java类.
             
            Maven坐标
            junit 5已经不再是单个库了, 而是模块化结构的集合. 所有的模块可以参见《junit 5用户指南》. 这里我们给出一般情况下需要依赖的junit 5的包的Maven坐标:
             
            Group ID: org.junit
            Artifact ID: junit5-api
            Version: 5.0.0-SNAPSHOT
             
            包/类变化
            注解移动到了org.junit.gen5.api包中
            断言移动到了org.junit.gen5.api.Assertions类中
            假设移动到了org.junit.gen5.api.Assumptions类中
            注解变化
            @Test注解已经不再包含任何的属性了.
            @Before和@After已经删除了, 与之对应的替代注解分别是@BeforeEach和@AfterEach
            @BeforeClass和@AfterClass也不存在了, 可以使用@BeforeAll和@AfterAll代替
            @Ignore被@Disabled代替
            @Category使用@Tag代替
            @RunWith使用@ExtendWith代替
             
             
            下面我们用junit 5编写一个最简单的单元测试:
             
            Junit5FirstTest.java
             
            class Junit5FirstTest{     @Test     void myFirstTest() {         assertEquals(2, 1 + 1);     } } 
             
             
            注意到了吗? 我们的测试类和方法都没有用public修饰. 在junit 5中只要测试方法没有用private修饰就可以.
             
            Lambda表达式
            由于junit 5需要的jre版本为java 8. 自然就可以在特定地方使用Lambda表达式. 这里我们在断言中使用一次Lambda表达式:
             
            Junit5FirstTest.java
             
            @Test void testLambda(){     assertTrue(1 == 1, () -> "1竟然不等于1..."); } 
             
             
            我们可以看一下assertTrue方法的签名就清楚是怎么回事了:
            public static void assertTrue(boolean condition)  // 我们调用的是下面的方法 public static void assertTrue(boolean condition, Supplier<String> messageSupplier)  public static void assertTrue(BooleanSupplier booleanSupplier)  public static void assertTrue(BooleanSupplier booleanSupplier, String message)  public static void assertTrue(boolean condition, String message)  public static void assertTrue(BooleanSupplier booleanSupplier, Supplier<String> messageSupplier) 
             
             
            注: 其中的Supplier和BooleanSupplier都在java.util.function包中, 是java 8引入的接口. 这两个接口都是函数式接口, 所以可以使用Lambda表达式简化调用.
             
            断言分组
            断言分组可以执行一组短信, 之后一起报告. 这样我们或许可以省掉不少的错误信息字符串.
             
            @Test void testGroup(){     int[] array = {1, 2};     assertAll("分组测试失败",         () -> assertTrue(array.length == 2),         () -> assertTrue(array[0] == 1),         () -> assertTrue(array[1] == 2)); } 
             
             
            异常断言
            在junit 4中如果想要判断异常, 就需要在@Test注解中添加expected属性或者使用try-catch包裹. 但是try-catch太繁琐, 而有时候第一种方法又不是很合适. 在Junit 5可以使用异常断言解决:
             
             
            @Test void testException(){     assertThrows(Exception.class, () -> {         throw new NullPointerException();     }); } 
             
             
            假设、标签以及禁用测试
            在Junit 5中假设使用org.junit.gen5.api.Assumptions类中的方法完成, 如果假设的条件没有满足, 那么就会跳过测试方法.@Tag注解用来对测试分组, 之后可以方便的指定需要执行那个分组的测试方法. 禁用测试使用@Disabled注解实现, 被该注解标注的方法/类将直接跳过执行.
             
             
            @Test void testAssumption() {     assumeTrue(System.getenv("OS").startsWith("Windows"), "跳过测试");     // 只有在Windows下才会执行下面的代码     // 在其他平台下将会跳过该方法, 也不会报错 }  @Test @Tag("tag1") void testTag() { }  @Test @Disabled void testWillBeSkipped() { } 
             
            当然还有更多的新变化许愿测试工程师的你在使用中不断挖掘
            Copyright  ©  2001-2019西安兆隆计算机培训学校版权所有
            电话:
            地址:西安市碑林区长安路省体育场站图书馆北门院内

            游戏厅捕鱼达人攻略-首页 99全讯网 mg电子玩法---HOME_欢迎您 bet体育足球---HOME_欢迎您 AG平台大全-Welcome BBIN视讯游戏网站---首页_Welcome 买球平台压注---首页_欢迎您 bodog---HOME_Welcome 2019娱乐手游---HOME_Welcome ag真钱平台 - java单元测试框架junit5有哪些版本变化呢?_北大青鸟西安兆隆官网