我想在Eclipse Oxygen 4.7.3a中将JUnit 4转换为5。我认为添加jupiter库就足够了:库,构建路径等等。但是@BeforeAll,@ AfterAll,@ BeforeEach和@AfterEach都没有被执行,但是@Test方法没有 - 但是当然它们会失败而没有正确的设置。
有趣的是,我可以使用新的Junit 5 Jupiter向导创建一个文件,并且该测试文件可以正常工作。我将JUnit 5注释从新文件复制并粘贴到我现有的文件中,但它仍然无法正常工作。我开始怀疑Eclipse是否在我不知道的幕后某处有一些配置信息。
答案 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)
。