2014-01-10 32 views
0

我正在開發一個spring + maven項目。在一些課程中,我正在閱讀我的項目中的XML文件。 XML的路徑位於屬性文件中。但它將採取從卡塔利娜基地的道路。它的工作正常。但是當我需要執行測試用例時,我無法獲得正確的路徑,因爲它取決於Catalina基礎。那麼在Junit運行時如何訪問我的XML文件?如何使用屬性文件關聯運行Junit時訪問XML文件?

我的屬性文件

projecthieararchy.read.derectory=/webapps/phdash/WEB-INF/config/Programs.xml 

XML是從各種.java文件讀取所以我需要在類路徑組合的屬性文件。

即。位於這樣

1.框架 測試文件 - > SRC - >測試 - >委託 - > Test1.java

2.框架 - > SRC - >測試 - - >委託 - > somefolder ---> Test2.java

我可以XML的附加副本來測試像, XML可以位於

框架 - >資源 - >程序.xml

如何在屬性文件中添加測試文件路徑?

謝謝。

回答

1

我的建議是告訴junit runner XML文件的基本目錄在哪裏。您可以將junit亞軍的「工作目錄」配置爲Catalina base:

  • 如果您在IDE中運行junit測試,例如Eclipse。檢查Junit的配置選項卡,您會找到配置工作目錄的位置。
  • 如果您在命令行中運行junit測試。你可以做到這一點,因爲這:

    $ CD /路徑/到/卡塔利娜/基

    $(調用JUnit運行)

0

您可以創建一個特定的測試,性能在src/test/resources文件將包含projecthieararchy.read.derectory,其值適合測試。例如

projecthieararchy.read.derectory=path/used/by/tests/to/Programs.xml 

這將覆蓋生產屬性中的實際值 - 運行測試時。

+0

那麼,它只會在我的電腦上工作?因爲文件路徑取決於PC。 – user2810351

+0

如果文件包含在您的項目中,您可以使其相對於項目的根目錄 - 例如:'src/main/resources/Programs.xml'。然後它會在任何人的PC上工作 –

+0

XML文件位於以下路徑中。 /home/sachith/SCCheck/dashboard/framework/src/test/java/XMLResources/TestPrograms.xml那麼這個相對路徑是什麼? – user2810351

相關問題