将JUnitCore与Spring一起使用

时间:2013-02-19 11:38:20

标签: java spring junit junit4

我想从主类执行测试。我试过了:

public static void main(String[] args) {
    JUnitCore runner = new JUnitCore();
    runner.run(TestClass.class);
}

public static void main(String[] args) {
    JUnitCore.main(TestClass.class.getName());
}

但是,此测试使用的是Spring框架,并且未加载bean。 我的测试类看起来像这样:

@NoDataSet
@ContextConfiguration(locations = { "/.../xxx-beans.xml", "/.../yyy-beans.xml",
                    "..." }, inheritLocations = false)
@RunWith(SpringJUnit4ClassRunner.class)
public class TestClass extends AbstractTransactionalJUnit4SpringContextTests {
    @BeforeClass
    public static void beforeClass() {
        // some config
    }

    @Test
    public void testSomething() {
        // testsomething
    }
}

我使用了很多bean,因此无法手动加载bean。

还有另一种方法可以开始这项测试吗?

3 个答案:

答案 0 :(得分:3)

new JUnitCore().run(new SpringJUnit4ClassRunner(Test1.class));

或只是添加

@RunWith(SpringJUnit4ClassRunner.class) to TestClass

答案 1 :(得分:0)

该类缺少@RunWith(SpringJUnit4ClassRunner.class)注释。如果没有这个注释,即使您的构建工具或IDE也无法正确执行它。

答案 2 :(得分:0)

我发现了问题。显然,我的工作目录设置为错误的位置。

我现在使用以下主要方法:

public static void main(String[] args) {
    JUnitCore runner = new JUnitCore();
    runner.run(TestClass.class);
}