在线棋牌官方版

          <dfn id='0d95c'><optgroup id='0d95c'></optgroup></dfn><tfoot id='0d95c'><bdo id='0d95c'><div id='0d95c'></div><i id='0d95c'><dt id='0d95c'></dt></i></bdo></tfoot>

          <ul id='0d95c'></ul>

          • <small id='26vwz'></small><noframes id='26vwz'>

          • <tfoot id='26vwz'></tfoot>

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

                  <bdo id='26vwz'></bdo><ul id='26vwz'></ul>

                1. <tr id='p1ubs'><strong id='p1ubs'></strong><small id='p1ubs'></small><button id='p1ubs'></button><li id='p1ubs'><noscript id='p1ubs'><big id='p1ubs'></big><dt id='p1ubs'></dt></noscript></li></tr><ol id='p1ubs'><option id='p1ubs'><table id='p1ubs'><blockquote id='p1ubs'><tbody id='p1ubs'></tbody></blockquote></table></option></ol><u id='p1ubs'></u><kbd id='p1ubs'><kbd id='p1ubs'></kbd></kbd>

                  <code id='p1ubs'><strong id='p1ubs'></strong></code>

                  <fieldset id='p1ubs'></fieldset>
                        <span id='p1ubs'></span>

                            <ins id='p1ubs'></ins>
                            <acronym id='p1ubs'><em id='p1ubs'></em><td id='p1ubs'><div id='p1ubs'></div></td></acronym><address id='p1ubs'><big id='p1ubs'><big id='p1ubs'></big><legend id='p1ubs'></legend></big></address>

                            <i id='p1ubs'><div id='p1ubs'><ins id='p1ubs'></ins></div></i>
                            <i id='p1ubs'></i>
                          1. <dl id='p1ubs'></dl>
                              • 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西安兆隆计算机培训学校版权所有
                              电话:
                              地址:西安市碑林区长安路省体育场站图书馆北门院内

                              娱乐正规网址-Welcome 疯狂牛牛安卓---在线棋牌官方版_欢迎您 升机棋牌---在线棋牌官方版_Welcome 乐酷棋牌---在线棋牌官方版_欢迎您 线上十大赌游---在线棋牌官方版_欢迎您