从Junit4迁移到Junit5时没有Runnable方法错误:

时间:2017-09-14 09:08:45

标签: java spring eclipse maven junit5

我刚刚尝试使用官方迁移指南从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支持以下解决方案无法使用

我做错了什么?我错过了什么?有没有人找到解决这类问题的方法?这似乎是一个简单的错误,但我无法弄明白。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

使用current beta support for JUnit 5 in Eclipse 4.7,您需要在项目类路径中手动包含JUnit 5库(构建路径 - >添加库 - > JUnit - > JUnit 5)。然后你应该像往常一样运行JUnit 5测试。

答案 1 :(得分:1)

Folowing @Boni响应我注意到链接说eclipse需要在4.7 M-build中,但我也发现this link 那说日食应该是4.7.1。此外,还有一个链接this bug用于在eclipse 4.5 M-build中运行Junit5。

如果你不在eclipse 4.7.1或更高版本中,你应该尝试更新你的eclipse版本