【发布时间】:2019-10-09 19:52:52
【问题描述】:
到目前为止,我一直在使用 JUnit 5,现在我必须使用 JUnit 4 在旧系统上工作,我无法在那里更新 JUnit 5。我在 JUnit 5 中有一个测试,我必须在 JUnit 4 中编写,但我不确定它将如何工作或如何编写?下面是 JUnit 5 版本的测试。
@AfterEach
void afterEach() throws Exception {
// Bleed off any events that were generated...
assertTimeoutPreemptively(ofMillis(MESSAGE_CLEARING_TIMEOUT_MS), () -> {
boolean tryAgain = true;
while (tryAgain) {
try {
final IMessageFacade message = messageConsumer.receiveMessage(MESSAGE_TIMEOUT_MS);
message.acknowledge();
} catch (MessagingException e) {
tryAgain = false;
}
}
});
broker.stop();
}
在测试中,我使用的是assertTimeoutPreemptively(),但不确定如何将其转换为 JUnit 4。我尝试在 JUnit 4 中设置一个全局超时,但没有奏效。在使用 JUnit 4 编写以上@AfterEach 条件方面的任何指导?
【问题讨论】: