<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      單元測試

      一、概述

      1、 單元測試(模塊測試)是開發者編寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確。

      2、一般認為,在結構化程序時代,單元測試所說的單元是指函數,在當今的面向對象時代,單元測試所說的單元是指類。以我的實踐來看,以類作為測試單位,復雜度高,可操作性較差,因此仍然主張以函數作為單元測試的測試單位

      3、有一種看法是,只測試類的接口(公有函數),不測試其他函數,從面向對象角度來看,確實有其道理,但是,測試的目的是找錯并最終排錯,因此,只要是包含錯誤的可能性較大的函數都要測試,跟函數是否私有沒有關系

      二、單元測試設計思想

      1、單元測試可以借鑒類似功能測試的思想來進行設計

      2、一個待測試類當作一個功能塊,待測試類當中的方法當作一個小的功能點,

           單元測試就理解為對這個待測試方法進行場景設計,編寫代碼,查看執行各場景結果和場景覆蓋率

      3、單元測試場景設計可以采用因果分析的方法,將各個參數的組合當作各條件組合,將輸入參數后執行方法的結果當作是各條件組合后的結果

      三、單元測試設計(采用因果分析法)

      1、確定待測試模塊即建立測試類

      Game類及對應的Game測試類

      復制代碼
      package test.testDemo;
      
      public class Game {
          
          public String winGame(int num1,int num2) {
              int num=num1-num2;
              String txt=null;
              if(num>0) {
                  txt="奪獎成功!"; 
              }else if(num==0) {
                  txt="安慰獎!";
              }else {
                  txt="奪獎失敗!";
              }
              return txt;
          } 
      
      }
      復制代碼
      復制代碼
      package test.testDemo;
      
      import static org.junit.Assert.*;
      
      import org.junit.Test;
      
      public class GameTest {
      
          @Test
          public void testWinGame() {
              fail("Not yet implemented");
          }
      
      }
      復制代碼

      2、分析因果條件列出場景并進行用例設計

      3、單元測試用例編寫

      3.1 參數化

      3.1.1 引入待測試類,定義參數

      3.1.2 引入注解@RunWith(Parameterized.class)參數化測試類

      3.1.3 編寫需用到的參數的構造函數

      3.1.4 編寫參數數據初始化方法

      復制代碼
      package test.testDemo;
      import java.util.Arrays;
      import java.util.Collection;
      import org.junit.Test;
      import org.junit.runner.RunWith;
      import org.junit.runners.Parameterized;
      import org.junit.runners.Parameterized.Parameters;
      
      //引入注解@RunWith(Parameterized.class)參數化測試類
      @RunWith(Parameterized.class)
      public class GameTest {
          //引入待測試類,定義參數
          private Game game=new Game();
          
          private int num1;
          
          private int num2;
          
          private String expected;
      
          //編寫需用到的參數的構造函數
          public GameTest(int num1, int num2,String expected) {
              super();
              this.num1 = num1;
              this.num2 = num2;
              this.expected=expected;
          }
          
          //編寫參數數據初始化方法
          @Parameters
          public static Collection<Object[]> data(){
              return Arrays.asList(new Object[][] {{2,1,"奪獎成功!"},{2,2,"安慰獎!"},{1,2,"奪獎失敗!"}});
          }
          
          @Test
          public void testWinGame() {
              
          }
      
      }
      復制代碼

      3.2 編寫單元測試方法

      @Test
          public void testWinGame() {
              String txt=game.winGame(num1, num2);
              Assert.assertEquals(expected, txt);
          }

      四、執行單元測試用例,檢查覆蓋率,覆蓋率需eclipse中安裝EclEmma插件

      1、選中測試類》右鍵選中Coverage As》Junit Test

      2、執行結果如下

      posted @ 2019-03-31 22:11  vame  Views(292)  Comments(0)    收藏  舉報
      主站蜘蛛池模板: 成人午夜污一区二区三区| 国产精品第一页中文字幕| 久久久久香蕉国产线看观看伊| 亚洲爆乳成av人在线视菜奈实| 日韩在线视频观看免费网站| 久久精品国产久精国产果冻传媒 | 日韩国产av一区二区三区精品| 国产啪视频免费观看视频| 天堂av色综合久久天堂| 人妻偷拍一区二区三区| 欧美不卡无线在线一二三区观| 日韩中文字幕v亚洲中文字幕| 亚洲区福利视频免费看| 国产情侣一区二区三区| 久久精品亚洲中文无东京热| 日韩美女亚洲性一区二区| 高碑店市| 亚洲国产天堂久久综合226114| 国产成人av免费观看| 亚洲成人动漫在线| 少妇爽到呻吟的视频| 精品人妻一区二区三区四区在线 | 4hu四虎永久在线观看| 国产AV影片麻豆精品传媒| 亚洲日韩av无码一区二区三区| 超碰人人超碰人人| 国产三级国产精品国产专区| 国产精品亚洲二区在线播放 | 日韩国产精品一区二区av| 亚洲精品麻豆一二三区| 久久综合五月丁香六月丁香| 少妇人妻偷人精品无码视频| 国产不卡精品视频男人的天堂| 国产午夜三级一区二区三| 蜜桃臀av在线一区二区| 九九热精品视频在线免费| 精品国产亚洲一区二区三区| 人妻有码av中文字幕久久琪| 最新国产精品拍自在线观看| 亚洲另类丝袜综合网| 五月天丁香婷婷亚洲欧洲国产|