如何在弹簧启动器测试中应用两个@RunWith



我使用spring引导启动器测试来编写JUnit测试用例。我喜欢使用JunitParamrunner,它便于为参数化测试传递文件。基本上,它逐行从文件中读取数据,并为每一行调用一个测试用例。问题是使用我需要通过@RunWith与SpringJUnit4ClassRunner以及JUnitParamsRunner。我想不出该怎么做。谁能提供一些线索?

@wjans提到的SpringClassRule是最好的解决方案,但是如果您的Spring版本小于4.2(最新的Spring -boot-start -test依赖于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

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

相关内容

  • 没有找到相关文章

最新更新