[英]Spring MVC Testing without Mocking
好的,我來自Rails,要使其正常工作有些困難。
正確知道這是我從Spring框架中了解的內容(如果我錯了,請糾正我):
我正在使用Tomcat。 因此,基本上,它的工作是去到web.xml之后,然后從那里檢查所有配置文件以進行初始化並自動連接Bean等。
在我的示例中,我在web.xml上將上下文配置位置為application-config.xml
事實證明application-config.xml還有其他配置文件,這些文件將處理以下問題:
休眠:
<util:properties id="hibernatePropertiesConfigurer" location="classpath:hibernate.properties"/>
JSon Converter:
<import resource="classpath:json-converter.xml"/>
管理者( @Component
)掃描程序:
<import resource="classpath:scanner-config.xml"/>
其中。 換句話說,這些工作正常,Web服務器啟動,經理( @Components
)是@Controllers
@Autowired
, @Controllers
可以調用它們,將對象持久存儲在數據庫中,等等。
現在,我要測試,即運行JUnit測試。 我確實找到了許多有關如何模擬這些層(管理器,控制器)的示例,但我想嘗試一下真正的東西:
@Controller
@Controller
對象 @Controller
具有@Component
或@Bean
的真實@Autowired
(非@Bean
版本) @Component
將保留一個@Entity
@Component
的@Autowired
實例,並查詢數據庫以確認發生了持久性。 Spring,JUnit測試完全有可能嗎?
如果要像這樣驗證整個堆棧的行為,則它不再是單元測試,而是集成測試。
如果您使用的是Maven,則可以在pre-integration-test
階段使用Maven Jetty插件之類的項目將項目部署到嵌入式容器中。 然后在測試中,對本地主機上的服務器進行HTTP調用,並驗證您是否獲得了預期的響應。 然后,在post-integration-test
階段,關閉Jetty服務器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.