我們在服務層&視圖層上下文配置之間有一個明確的抽象,我們正在加載它們,如下所示。如何在Spring MVC測試中設置Web應用程序上下文
Root application context:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:META-INF/spring/applicationContext*.xml</param-value>
</context-param>
Web application context:
<servlet>
<servlet-name>lovemytasks</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/mmapp-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
現在我們試圖介紹SPRING MVC TEST FRAMEWORK來測試我們的應用程序。
爲此我需要設置與我的真實Web應用程序相同的環境。
我該怎麼做?
我在我的測試配置下面嘗試加載兩個上下文。
@ContextConfiguration(locations = { "classpath*:META-INF/spring/applicationContext*.xml",
"file:src/main/webapp/WEB-INF/spring/mmapp-servlet.xml" })
但它的示數出來說
Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Duplicate <global-method-security> detected.
我們定義這兩個根應用上下文和Web應用程序上下文全球安全。
注意:當我運行我的web應用程序時,上述問題不會出現。它發生只有當我運行Spring MVC測試
我試圖刪除我的全球安全和一個地方,然後登陸到運行我的測試轉換服務的錯誤。其中有人警告說,我並不像真正的Spring應用程序那樣加載上下文。
現在,我想設置我的Spring MVC測試環境,以便像我的春季Web應用程序環境一樣使用或工作。任何人都可以請建議我如何實現它?
我不想合併兩個上下文文件或將它包含在Web應用程序上下文中,因爲很少有架構問題。此外,我想要在我的測試中運行我的應用程序時發生的相同的應用程序上下文設置。 – Shiv 2013-04-11 22:20:03