Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在spring boot starter测试中应用两个@RunWith_Java_Spring Boot_Junit4_Parameterized Tests_Junitparams - Fatal编程技术网

Java 如何在spring boot starter测试中应用两个@RunWith

Java 如何在spring boot starter测试中应用两个@RunWith,java,spring-boot,junit4,parameterized-tests,junitparams,Java,Spring Boot,Junit4,Parameterized Tests,Junitparams,我使用SpringBootStarter测试来编写JUnit测试用例。我很想使用JunitParamrunner,它有助于为参数化测试传递文件。基本上,它逐行从文件中读取数据,并为每一行调用一个测试用例。问题是使用SpringJUnit4ClassRunner和JUnitParamsRunner都需要通过@RunWith。 我不知道该怎么做。任何人都可以提供一些线索。您可以尝试通过使用而不是@RunWith注释来实现spring集成 如果@wjans提到的SpringClassRule是最佳解决

我使用SpringBootStarter测试来编写JUnit测试用例。我很想使用JunitParamrunner,它有助于为参数化测试传递文件。基本上,它逐行从文件中读取数据,并为每一行调用一个测试用例。问题是使用SpringJUnit4ClassRunner和JUnitParamsRunner都需要通过@RunWith。
我不知道该怎么做。任何人都可以提供一些线索。

您可以尝试通过使用而不是
@RunWith
注释来实现spring集成

如果@wjans提到的SpringClassRule是最佳解决方案,但如果您的Spring版本低于4.2(最新的Spring启动测试取决于Spring版本4.1.7),您可以在测试构造函数中初始化上下文:

@ContextConfiguration(<your context location>)
@RunWith(JUnitParamsRunner.class)
public class ParameterizedTestWithSpring {

    private TestContextManager testContextManager;

    public ParametrizedTestWithSpring() throws Exception {
        this.testContextManager = new TestContextManager(getClass());
        this.testContextManager.prepareTestInstance(this);
    }

    // your test methods
@ContextConfiguration()
@RunWith(JUnitParamsRunner.class)
使用spring参数化测试的公共类{
私有TestContextManager TestContextManager;
公共参数setTestWithSpring()引发异常{
this.testContextManager=新的testContextManager(getClass());
this.testContextManager.prepareTestInstance(this);
}
//你的测试方法