當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
百里香Spring测试的意见
生活随笔
收集整理的這篇文章主要介紹了
百里香Spring测试的意见
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我最近將其轉換為thymeleaf ,以便在基于Spring的Web應用程序中進行視圖模板化,而不是jsp。 百里香葉文檔中所有關于為什么百葉香葉在jsp上為何能保持水分的爭論都被我肯定了。
除了能夠預覽模板之外,對我來說,主要原因之一是視圖在運行時的呈現方式。 盡管應用程序堆棧必須將jsp的呈現推遲到servlet容器,但它可以完全控制thymeleaf模板的呈現。 為了進一步說明這一點,使用jsp作為視圖技術,應用程序僅返回jsp的位置,并且取決于servlet容器來呈現jsp。
那么,為什么這又是一個重要原因–因為在spring-test模塊中使用了mvc測試支持 ,所以現在可以聲明實際呈現的內容,而不僅僅是視圖的名稱。
考慮一個示例Spring MVC控制器:
@Controller @RequestMapping("/shop") public class ShopController {...@RequestMapping("/products")public String listProducts(Model model) {model.addAttribute("products", this.productRepository.findAll());return "products/list";} }如果該視圖基于jsp,我將進行如下測試:
@RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration @ContextConfiguration(classes = SampleWebApplication.class) public class ShopControllerWebTests {@Autowiredprivate WebApplicationContext wac;private MockMvc mockMvc;@Beforepublic void setup() {this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();}@Testpublic void testListProducts() throws Exception {this.mockMvc.perform(get("/shop/products")).andExpect(status().isOk()).andExpect(view().name("products/list"));} }斷言僅在視圖名稱上。
現在,考慮使用百里香葉作為查看技術的測試:
@Test public void testListProducts() throws Exception {this.mockMvc.perform(get("/shop/products")).andExpect(status().isOk()).andExpect(content().string(containsString("Dummy Book1"))); }在這里,我斷言實際的渲染內容。
這確實很好,但是使用jsp時,我必須驗證使用真實容器在運行時正確渲染了jsp,而使用thymeleaf,我可以純粹使用測試來驗證渲染是否干凈。
翻譯自: https://www.javacodegeeks.com/2014/04/spring-test-with-thymeleaf-for-views.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的百里香Spring测试的意见的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软手机刷安卓(微软刷安卓)
- 下一篇: (redis linux)