我们一直在试图弄清楚如何停止 Greenmail,以便在 Junit 测试用例失败时它不会占用 3025 端口。
当单元测试失败时,Junit 似乎绕过了 @After 注释(如果我错了,请纠正),并继续进行以下测试。不幸的是,其他测试运行@Before,它启动了一个新的greenmail服务器,试图挂接到端口3025,从而导致另一个测试出现错误。
理想情况下,我们希望仅在实际失败的那些上显示失败,并且没有 1 或 2 个测试用例由于 Greenmail 问题而使测试套件的其余部分失败。
有什么帮助吗?
示例代码
@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