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

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

如何在所有測試類開始之前執行一段代碼?

如何在所有測試類開始之前執行一段代碼?

一只甜甜圈 2023-12-10 15:13:08
如何在所有類中的所有測試開始之前執行一次方法?我有一個程序需要在任何測試開始之前設置系統屬性。有什么辦法可以做到這一點嗎?注意:@BeforeClass或@Before僅用于同一測試類。就我而言,我正在尋找一種在所有測試類啟動之前執行方法的方法。
查看完整描述

3 回答

?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

要為您的測試用例設置前提條件,您可以使用類似這樣的東西 -


@Before

public void setUp(){

    // Set up you preconditions here

    // This piece of code will be executed before any of the test case execute 

}


查看完整回答
反對 回復 2023-12-10
?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

如果您需要在所有測試開始之前運行該方法,則應該使用注釋@BeforeClass,或者如果您需要每次執行該類的測試方法時都執行相同的方法,則必須使用@Before



@Before

public void executedBeforeEach() {

   //this method will execute before every single test

}


@Test

public void EmptyCollection() {

  assertTrue(testList.isEmpty());     

}


查看完整回答
反對 回復 2023-12-10
?
森林海

TA貢獻2011條經驗 獲得超2個贊

您可以使用測試套件。

測試套件


@RunWith(Suite.class)

@Suite.SuiteClasses({ TestClass.class, Test2Class.class, })

public class TestSuite {


    @BeforeClass

    public static void setup() {


        // the setup

    }

}

并且,測試類


public class Test2Class {


    @Test

    public void test2() {


        // some test

    }

}

public class TestClass {


    @Test

    public void test() {


        // some test

    }

}

或者,您可以有一個處理設置的基類

public class TestBase {


    @BeforeClass

    public static void setup() {


        // setup

    }

}

然后測試類可以擴展基類


public class TestClass extends TestBase {


    @Test

    public void test() {


        // some test

    }

}

public class Test2Class extends TestBase {


    @Test

    public void test() {


        // some test

    }

}

但是,每次執行時,這都會為其所有子類調用該setup方法。TestBase


查看完整回答
反對 回復 2023-12-10
  • 3 回答
  • 0 關注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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