Thymeleafでテストコードを実装

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 は、実際のエンドポイントやテンプレートの名前に置き換えてください。