qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          JUnit中按照順序執行測試方式

          很多情況下,寫了一堆的test case,希望某一些test case必須在某個test case之后執行。比如,測試某一個Dao代碼,希望添加的case在最前面,然后是修改或者查詢,最后才是刪除,以前的做法把所有的方法都集中到某一個方法去執行,一個個羅列好,比較麻煩。比較幸福的事情就是JUnit4.11之后提供了MethodSorters,可以有三種方式對test執行順序進行指定,如下:
          /**
          * Sorts the test methods by the method name, in lexicographic order, with {@link Method#toString()} used as a tiebreaker
          */
          NAME_ASCENDING(MethodSorter.NAME_ASCENDING),
          /**
          * Leaves the test methods in the order returned by the JVM. Note that the order from the JVM may vary from run to run
          */
          JVM(null),
          /**
          * Sorts the test methods in a deterministic, but not predictable, order
          */
          DEFAULT(MethodSorter.DEFAULT);
            可以小試牛刀一下:
            使用DEFAULT方式:
          package com.netease.test.junit;
          import org.apache.log4j.Logger;
          import org.junit.FixMethodOrder;
          import org.junit.Test;
          import org.junit.runners.MethodSorters;
          /**
          * User: hzwangxx
          * Date: 14-3-31
          * Time: 15:35
          */
          @FixMethodOrder(MethodSorters.DEFAULT)
          public class TestOrder {
          private static final Logger LOG = Logger.getLogger(TestOrder.class);
          @Test
          public void testFirst() throws Exception {
          LOG.info("------1--------");
          }
          @Test
          public void testSecond() throws Exception {
          LOG.info("------2--------");
          }
          @Test
          public void testThird() throws Exception {
          LOG.info("------3--------");
          }
          }
          /*
          output:
          2014-03-31 16:04:15,984 0    [main] INFO  - ------1--------
          2014-03-31 16:04:15,986 2    [main] INFO  - ------3--------
          2014-03-31 16:04:15,987 3    [main] INFO  - ------2--------
          */
          換成按字母排序
          package com.netease.test.junit;
          import org.apache.log4j.Logger;
          import org.junit.FixMethodOrder;
          import org.junit.Test;
          import org.junit.runners.MethodSorters;
          /**
          * User: hzwangxx
          * Date: 14-3-31
          * Time: 15:35
          */
          @FixMethodOrder(MethodSorters.NAME_ASCENDING)
          public class TestOrder {
          private static final Logger LOG = Logger.getLogger(TestOrder.class);
          @Test
          public void testFirst() throws Exception {
          LOG.info("------1--------");
          }
          @Test
          public void testSecond() throws Exception {
          LOG.info("------2--------");
          }
          @Test
          public void testThird() throws Exception {
          LOG.info("------3--------");
          }
          }
          /*
          2014-03-31 16:10:25,360 0    [main] INFO  - ------1--------
          2014-03-31 16:10:25,361 1    [main] INFO  - ------2--------
          2014-03-31 16:10:25,362 2    [main] INFO  - ------3--------
          */

          posted on 2014-10-15 09:14 順其自然EVO 閱讀(247) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年10月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 斗六市| 漯河市| 海安县| 阿荣旗| 庐江县| 什邡市| 利辛县| 襄城县| 绥德县| 同心县| 阿巴嘎旗| 连城县| 仙桃市| 东兴市| 灵川县| 郸城县| 睢宁县| 长阳| 临猗县| 建平县| 北票市| 双江| 台南市| 高要市| 宁海县| 隆化县| 新邵县| 文化| 东源县| 延庆县| 舞阳县| 盐津县| 黄浦区| 泸州市| 循化| 治县。| 威信县| 湟源县| 繁峙县| 垣曲县| 武强县|