亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在JUnit 4中按特定順序運行測試方法?

如何在JUnit 4中按特定順序運行測試方法?

白板的微信 2019-06-25 13:33:01
如何在JUnit 4中按特定順序運行測試方法?我想要執行由@Test按照特定的順序。例如:public class MyTest {     @Test public void test1(){}     @Test public void test2(){}}我想確保test1()以前test2()每次我跑MyTest,但我找不到像這樣的注釋@Test(order=xx).我認為對于JUnit來說這是非常重要的特性,如果JUnit的作者不希望順序特征為什么?
查看完整描述

3 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

如果訂單是重要的,你應該自己下訂單。

@Test public void test1() { ... }@Test public void test2() { test1(); ... }

特別是,如果有必要,您應該列出一些或所有可能的順序排列以進行測試。

例如,

void test1(); void test2(); void test3(); @Testpublic void testOrder1() { test1(); test3(); }
@Test(expected = Exception.class)public void testOrder2() { test2(); test3(); test1(); }
@Test(expected = NullPointerException.class)public void testOrder3() { test3(); test1(); test2(); }

或者,對所有排列進行全面測試:

@Testpublic void testAllOrders() {
    for (Object[] sample: permute(1, 2, 3)) {
        for (Object index: sample) {
            switch (((Integer) index).intValue()) {
                case 1: test1(); break; 
                case 2: test2(); break; 
                case 3: test3(); break; 
            }
        }
    }}

這里,permute()是一個簡單的函數,它將所有可能的置換迭代到數組集合中。


查看完整回答
反對 回復 2019-06-25
  • 3 回答
  • 0 關注
  • 1801 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號