Thymeleafでテストコードを実装
Thymeleafのテンプレートのテストコードを実装するためには、主にSpringBootとThymeleafの統合テストを行うのが一般的です。
以下は、SpringBootを使用してThymeleafテンプレートのテストを実装するためのサンプルコードです。
import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; @WebMvcTest public class ThymeleafTemplateTest { @Autowired private MockMvc mockMvc; @Test public void testThymeleafTemplate() throws Exception { mockMvc.perform(MockMvcRequestBuilders.get("/test-endpoint")) .andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.view().name("test-template")) .andExpect(MockMvcResultMatchers.model().attributeExists("testModelAttribute")) .andExpect(MockMvcResultMatchers.content().string(org.springframework.test.web.servlet.result.MockMvcResultMatchers.containsString("期待するテキスト"))); } }
説明
1. @WebMvcTest
Spring MVCのテストを行うためのアノテーションです。
コントローラーやMVC関連のコンポーネントのみをロードします。
2. MockMvc
HTTPリクエストを模擬し、レスポンスを検証するためのクラスです。
3. perform
模擬リクエストを発行します。
4. andExpect
レスポンスのステータスやビュー名、モデルの属性、コンテンツの検証を行います。
このコードは、指定したエンドポイントに対してGETリクエストを送り、Thymeleafテンプレートが正しく表示されるかどうかを確認します。
test-endpoint や test-template は、実際のエンドポイントやテンプレートの名前に置き換えてください。