2010-10-12 54 views
1

這是我的JUnit類:JUnit的:在@ContextConfiguration我的XML文件的位置找不到

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations = { "WEB-INF/spring-test-config.xml"})  
public class TestXXXX extends TestBase 
{ ... 

當我啓動與JUnit運行(在Eclipse)這個測試類,它的失敗,因爲文件spring-test-config.xml未找到。

我的項目結構是:

  • /src/main/com/xxx/:我的源代碼

  • /src/main/WEB-INF/:我的配置文件;在此文件夾下有spring-test-config.xml:此文件不是最終的xml,因爲它包含一些由Ant目標替換的令牌。這個文件的最終結果是放置在WebContent(實際上是部署目錄) - 參見上文。

  • /WebContent/WEB-INF/classes/com/xxx/:我二進制代碼

  • /WebContent/WEB-INF/spring-test-config.xml

所以,我該怎麼做才能解決這個問題呢?

+0

你的類路徑是什麼? – skaffman 2010-10-12 11:30:41

+0

Skaffman,我的classpath是:/ src/main /文件夾。我的所有spring文件都是使用我的ant目標生成的(用於替換某些標記)並放入WebContent/WEB-INF / – Anthony 2010-10-12 12:22:07

回答

0

我以前遇到過這個問題 - 您需要將WEB-INF文件夾添加到您的構建路徑。

4

你能展示你所有的項目結構嗎?你的測試課也放在哪裏。

從eclipse配置類路徑中的目錄。

之後,您可以在src/resources/test目錄中定義您的spring-context應用程序文件並使用@ContextConfiguration(locations = { "/spring-test-config.xml"})加載它。

我希望它有幫助

0

你可能想檢查你的螞蟻配置。

我有同樣的問題(使用Maven),並嘗試裏卡多的和凱蒂的想法沒有利用,然後我把一個測試配置文件放入/ src/test/resources(注意細微差別),然後'@ContextConfiguration (locations = {「/spring-test-config.xml」})'工作。總之,您可能想要與Ricardo的想法一起,然後檢查您的構建過程。