@BeforeAll不在Eclipse中的SOME文件中工作

时间:2018-05-12 21:23:02

标签: eclipse junit5

我想在Eclipse Oxygen 4.7.3a中将JUnit 4转换为5。我认为添加jupiter库就足够了:库,构建路径等等。但是@BeforeAll,@ AfterAll,@ BeforeEach和@AfterEach都没有被执行,但是@Test方法没有 - 但是当然它们会失败而没有正确的设置。

有趣的是,我可以使用新的Junit 5 Jupiter向导创建一个文件,并且该测试文件可以正常工作。我将JUnit 5注释从新文件复制并粘贴到我现有的文件中,但它仍然无法正常工作。我开始怀疑Eclipse是否在我不知道的幕后某处有一些配置信息。

2 个答案:

答案 0 :(得分:9)

好的,我发现了问题。 在我的import语句林中,我正在使用

import org.junit.Test;

而不是

import org.junit.jupiter.api.Test;

触发了JUnit 5运行器认为它正在使用JUnit 4文件。 简单的解决方案,但很难找到,因为没有生成错误消息,文件仍然运行。也变得更加神秘,因为"组织进口"添加了JUnit 4 Test类,而不是jupiter Test类。

-Falsoon

答案 1 :(得分:2)

尝试将其更改为static。 除非测试类用@BeforeAll注释,否则static方法必须为@TestInstance(Lifecycle.PER_CLASS)