2014-09-11 79 views
0

我是Java spring框架的新手。我正在使用spring框架做功能測試。作爲測試的一部分,我有需要傳遞給API並從數據庫驗證的文件,即文件數據進入數據庫。我已經使用spring將相關數據數據存儲在測試文件中。 。我的測試必須使用多個文件調用API。如何可以從彈簧文件屬性Spring Config文件根據輸入填充不同的bean數據

DifferentValuesInBeanForFile1(見彈簧文件)=具有與文件相關聯的數據的一些豆1. DifferentValuesInBeanForFile2 =具有與文件2.

因此,測試可以驗證API相關聯的數據的一些豆通過驗證數據正確處理輸入文件1

<bean id="TestHappyPathPostDeal1Hotel1Deal" class="com.abc.FunctionalTests"> 
    <property name="InDate" value="12/20/2014 00:00:00" /> 
    <property name="OutDate" value="12/24/2014 00:00:00" /> 
    <property name="HotelDeals"> 
     <util:map> 
      <entry InputFile="fileWithDeal123.avro" value="DifferentValuesInBeanForFile1" /> 
      <entry InputFile="fileWithDeal999.avro" value="DifferentValuesInBeanForFile1" /> 
     </util:map> 
    </property> 
</bean> 

回答

0

我不確定我是否正確理解您的問題。但是,如果我這樣做,那麼你需要看看使用屬性。

<bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="locations"> 
      <list> 
        <value>file:///opt/somelocation/general.properties</value> 
      </list> 
    </property> 
</bean>  

然後你就可以從那裏引用您的春天文件中的東西:

<bean id="config" class="com.something.SomeClassConfiguration"> 
    <property name="hosts" value="${main.hosts}" /> 
    <property name="clusterName" value="${main.clusterName}" /> 
</bean> 

如果您general.properties文件包含類似:您可以在春天文件的頂部添加此

main.hosts=127.0.0.1:9160 
main.clusterName=test 

如果你根據你的編譯需要改變什麼,你需要看看你的編譯系統。我使用maven,並設置了配置文件。根據我在做什麼,我得到maven用我正在構建的系統的正確文件替換general.properties文件。

希望有所幫助。