![](/img/trans.png)
[英]@BeforeClass and @AfterClass called before and after each test
[英]How to run @BeforeClass method before each @Test
當我手動運行@Tests時,一個接一個-一切都很好。 但是當我一起運行它們時-我遇到了錯誤。 因此,如何在每個@Test之前運行@BeforeClass。 我不能在我的@BeforeClass中使用@Before becorse,我在測試類構造函數中做了一些工作。
測試類的構造函數:
public HttpUtils() {
this.httpClient = HttpClients.createDefault();
}
課前:
@BeforeClass
public static void init() throws IOException {
mockStatic(HttpClients.class);
final CloseableHttpClient closeableHttpClient = createMock(CloseableHttpClient.class);
when(HttpClients.createDefault()).thenReturn(closeableHttpClient);
}
如果我運行所有測試。 在第二次測試中,我得到了HttpClient,它不像模擬,而是像真實的對象,並且最近有錯誤提示。
使用@Before而不是@BeforeClass
在每次測試之前執行
@Before
public static void init() throws IOException {
使用@Before會使該方法在Test方法之前運行。 超類的@Before方法將在當前類的方法之前運行。
如果要在每個測試類之前執行任何方法,則應使用@Before注釋。 通過使用@BeforeClass批注,您只需在測試類中調用該方法一次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.