我們最近遷移我們的測試框架JUnit5,並有使用@Disabled
(UND ExecutionCondition
S)在測試中的一些問題,這些問題用@SpringJUnitConfig
: 在Junit4 @Ignore
禁用測試執行沒有問題,不執行任何事情。使用Junit5和@Disabled
,系統現在創建彈出環境,然後意識到不應該執行測試。在我們的情況下,這導致禁用測試失敗,因爲其中一些被禁用,因爲在某些情況下無法創建上下文。禁用測試與Spring和Junit5沒有上下文創建
是否有可能禁用JUnit5中的測試(類),以便不爲此測試創建彈簧上下文?
最少例如:
@TestInstance(Lifecycle.PER_CLASS)
@RunWith(JUnitPlatform.class) // To support tests running in eclipse
@SpringJUnitConfig(classes = {BaseTestSpringTest.TestConfiguration.class})
@Disabled
public class BaseTestSpringTest {
@Configuration
@ComponentScan(basePackages = { "my.package" })
public class TestConfiguration {
}
@Component
public class TestClass {
@PostConstruct
public void fail() {
throw new IllegalStateException();
}
}
@Autowired
protected TestClass test;
@Test
public void test() throws Exception {
}
}
如果您在Spring 5中使用'@ EnabledIf'或'@ DisabledIf',則不應該急於加載'ApplicationContext'。 –
關於JUnit Jupiter中'@ Disabled'的使用,我不得不準確地看到(1)過去如何使用JUnit 4以及(2)現在JUnit Jupiter(JUnit 5)無法正常工作。 –
您能否提供JUnit 4和JUnit Jupiter的示例? TIA! –