欢迎光临
梦想从学习开始!

JUnit test case执行顺序 | 小熊测试

本文主要介绍 JUnit test case执行顺序 | 小熊测试,小熊希望对大家的学习或者工作具有一定的参考学习价值,在测试领域有所提升和发展。


          很多情况下,写了一堆的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——– */

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小熊分享邦(www.xxfxb.com),希望大家能坚持软件测试之路,谢谢。

赞(0) 打赏
未经允许不得转载:小熊分享邦 » JUnit test case执行顺序 | 小熊测试

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏