TDD

2187 ワード

1.テストする方法で
Ctrl+shift+tをクリック
->テストパッケージで自動的に作成
2.クラスの空気騒音を設定する
@ExtendWith({RestDocumentationExtension.class, SpringExtension.class})
@SpringBootTest
@AutoConfigureRestDocs
@AutoConfigureMockMvc
@Transactional
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
/**
     * ObjectMapper
     * RequestBody 내용을 설정하기 위한 Class
     */
    @Autowired
    private ObjectMapper objectMapper;

    /**
     * EntityManager 영속성 컨텍스트
     */
    @Autowired
    private EntityManager entityManager;

    /**
     * MockMvc
     * 서버에 배포하지 않고 Spring MVC 동작을 재현할 수 있는 Class
     * Test 기능의 핵심
     */
    private MockMvc mockMvc;

    /**
     * RestDocumentationResultHandler
     * 문서를 출력하기 위한 Class
     */
    private RestDocumentationResultHandler document;

    /**
     * 각 Test 실행 전에 실행되는 메서드
     */
    @BeforeEach
    public void beforeEach(WebApplicationContext webApplicationContext, RestDocumentationContextProvider restDocumentation) {
        this.document = MockMvcRestDocumentation.document(
                "{class-name}/{method-name}", // 문서 경로 설정
                Preprocessors.preprocessRequest( // Request 설정
                        Preprocessors.modifyUris()
                                .scheme("https")
                                .host("rest.emotion.co.kr"), // 문서에 노출되는 도메인 설정
                        Preprocessors.prettyPrint() // 정리해서 출력
                ),
                Preprocessors.preprocessResponse(Preprocessors.prettyPrint()) // Response 설정. 정리해서 출력
        );

        this.mockMvc = MockMvcBuilders // MockMvc 공통 설정. 문서 출력 설정
                .webAppContextSetup(webApplicationContext)
                .addFilter(new CharacterEncodingFilter("UTF-8", true))
                .apply(MockMvcRestDocumentation.documentationConfiguration(restDocumentation))
                .alwaysDo(document)
                .build();
    }
クラスの直下に上記のソースを追加
ここまでが基本設定!!
main>asciidoc>api.adocファイルを作成します.
Mavenがインストールされている場合

ファイルの生成
このファイルを開いてドキュメントを検証します