4

Junit テスト ケースが失敗したときに Greenmail が 3025 ポートを占有しないように、Greenmail を停止する方法を見つけようとしています。

単体テストが失敗すると、Junit は @After アノテーションをバイパスするように見え (間違っていれば正しい)、次のテストを続行します。残念ながら、他のテストでは @Before が実行され、ポート 3025 へのフックを試みる新しい greenmail サーバーが開始されるため、別のテストではエラーが発生します。

理想的には、実際に失敗したものにのみ失敗が表示され、Greenmail の問題が原因で 1 つまたは 2 つのテスト ケースが残りのテスト スイートに失敗しないようにする必要があります。

何か助けはありますか?

サンプルコード


@Before
public void setup() {
    greenMail = new GreenMail(ServerSetupTest.SMTP);
    greenMail.start();
}

@After
public void tearDown() {
    greenMail.stop();
}

@Test
public void someFailTest() throws IOException{fail();};

@Test
public void someGoodTest(){assert(true);}; // greenmail busted so this also throws up
4

0 に答える 0