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