2013-02-19 72 views
2

我想执行一个来自主类的测试。我曾尝试:使用JUnitCore和Spring一起使用

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框架和豆类都没有加载。 我的测试类是这样的:

@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 
    } 
} 

我使用了很多豆子,所以我不能手动加载豆。

有没有另外一种方法开始这个测试?

回答

0

我发现了这个问题。显然,我的工作目录被设置为不正确的位置。

我现在用它机智以下主要-方法:

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

尝试

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

或简单地添加

@RunWith(SpringJUnit4ClassRunner.class) to TestClass 
+0

按照[JUnitCore-文档】(http://junit.sourceforge.net/javadoc/org/junit/runner/JUnitCore。 HTML),我们不应该使用这种方法。无论如何感谢 – user969039 2013-02-19 13:24:09

0

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

+0

这只是一个例子。我在我的原始代码中有这个注释,测试在IDE中运行(不在主类中)。 – user969039 2013-02-19 13:12:43

+0

有缺陷的例子,那么。 – 2013-02-19 14:11:20