我刚刚尝试使用官方迁移指南从JUnit 4迁移到Junit 5。
这是我使用JUnit 4的原始类:
output_buffering
以下是抽象类的代码:
package com.mypack;
import javax.annotation.Autowired;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.github.springtestdbunit.annotation.DatabaseSetup;
@RunWith(SpringJUnit4ClassRunner.class)
@DatabaseSetup(value = "/db_data/dao/dbunit_file.xml")
public class PersonalTest extends AbstractTU {
@Autowired
private SomeDAO someDAO;
@Test
public void someTest() throws Exception {
// -- Test details with classic asserts
}
}
即使它非常干净,它也能正常工作。 AbstractModelTU 类只包含一些在子类中使用的正确初始化变量,它不会添加任何其他注释。
我已经在我的maven依赖项中导入了junit jupiter和junit vintage。
根据指南,我应该使用@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:/mybeans.xml" })
@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class,
DbUnitTestExecutionListener.class })
public abstract class AbstractTU extends AbstractModelTU {
}
更改@RunWith(SpringJUnit4Runner.class)
。我已经完成了这个,并且该类没有显示编译错误或冲突。
但是,当我运行测试时出现此错误:
@ExtendWith(SpringExtension.class)
在eclipse上,我甚至无法执行 Run as Junit test ,尽管在我的Eclipse 4.7版本中添加了junit 5支持插件,但它并没有显示在菜单中。
编辑:当我再次尝试安装插件时,出现此错误: junit5支持以下解决方案无法使用
我做错了什么?我错过了什么?有没有人找到解决这类问题的方法?这似乎是一个简单的错误,但我无法弄明白。
提前感谢您的帮助。
答案 0 :(得分:2)
使用current beta support for JUnit 5 in Eclipse 4.7,您需要在项目类路径中手动包含JUnit 5库(构建路径 - >添加库 - > JUnit - > JUnit 5)。然后你应该像往常一样运行JUnit 5测试。
答案 1 :(得分:1)