好吧,我來自Rails,在嘗試使這個工作有點困難。Spring MVC測試沒有嘲諷
權利知道這是我從Spring框架理解(並請糾正我,如果我錯了):
我使用Tomcat。所以它基本上是在web.xml之後,並檢查從那裏的任何配置文件,以初始化和獲取豆自動有線等。
在我的例子中,我有關於web.xml的上下文配置位置的應用-config.xml中
事實證明,應用-config.xml中具有其他配置文件,將採取以下護理:
休眠:
<util:properties id="hibernatePropertiesConfigurer" location="classpath:hibernate.properties"/>
JSON轉換器:
<import resource="classpath:json-converter.xml"/>
經理(@Component
)掃描儀:
<import resource="classpath:scanner-config.xml"/>
等等。換句話說,這些工作就好了,web服務器起牀,經理(@Components
)爲@Autowired
,@Controllers
可以給他們打電話,數據庫中的對象持久等
現在,我想測試,即運行JUnit測試。我確實發現了很多關於如何嘲笑這些層(經理,控制器)的例子,但我想嘗試真實的東西:
- 測試將實例
@Controller
- 測試將張貼到
@Controller
對象 @Controller
將有@Component
或@Bean
@Component
真正@Autowired
(輕慢不得版)將持續一個@Entity
- 而且,最重要的是,d atabase應該看到變化。 (我正在使用MySQL)
- 然後,測試將使用
@Component
的@Autowired
實例,並查詢數據庫以確認發生持久性。
這是可能的,完全可以通過Spring,JUnit測試嗎?
在Spring 3.2中,查看'MockMvc'和整個MVC測試堆棧。 –
不幸的是我被Spring 3.1卡住了。然而,我看了這個:https://github.com/spring-projects/spring-mvc-showcase.git,雖然它非常有用,但我想不嘲笑地嘗試。換句話說,我想要在測試中擁有與Web相同的應用程序上下文 – marcelorocks
有一個與3.1一起工作的「MockMvc」預覽版:https://github.com/spring-projects/spring-test-mvc 。也許它仍然(但你真的需要升級)? –