02.アルバコン・JAVA REBOOT


土曜日の午後から日曜日の午前中まで!



スプリングプロジェクトのコントローラユニットのテストで問題が発生しました.上記の400個のエラーをずっと受信しています.

Postmanをテストするとき!



本当によかったです.スプリングサーバーを起動したら、Postmanとしては問題ありません…
いったいどうしてこんなことになったのか.いろいろ検索しましたが、実は何か問題があるのか分かりません.
初めてmockmvc post 400 error、mockmvc応答nullなどのmockmvcを使用するので、mockmvcをキーワードとして検索しています.Postmanで実行され、テストツールを使用するときに使用できないため、コードに問題があるとは思わなかった.
次のコードをテストしようとしました.
JSONオブジェクトを簡単に受信し、タイプを変換して保存し、アイデンティティー値の論理を返します.
@PostMapping("/api/v1/users")
    public CreateUserResponse registerUserV1(@RequestBody @Valid CreateUserRequest request) {
        Long registerUserId = userCommandService.register(transferRequestToDto(request));
        return new CreateUserResponse(registerUserId);
    }
mockitoを使用してmockbeanをサービスに注入し、リクエストを受信するとlongタイプの1を返します.
論理を保存してエクスポートします.
@Test
    public void registerUserController() throws Exception {
        //give
        String content = asJsonString(new CreateUserController.CreateUserRequest("Hakim"));
        when(userCommandService.register(any(UserCommandDto.class))).thenReturn(1L);
        mockMvc.perform(post("/api/v1/users")
                .contentType(MediaType.APPLICATION_JSON)
                .content(content))
                .andDo(print())
                .andExpect(status().isOk());
    }

問題は!ロバートだ



エラーメッセージを1度見る訓練はまだ行われていないようです.Errorの場合は赤のフォントを中心に見ていますが….最初からよく見なきゃ英語だからSkip...ユーザリクエストオブジェクトが生成されなかったために発生したエラーのようです.だからどうしたんですか.郵便配達員のところではよくできていますが、この団地はだめですか?という思いがありました.
私と似たような苦境を経験した外国人!これを見て一気に解決した。
結論はNoArgConstructorなしこれは、デフォルトのジェネレータがなくて実現できない別のジェネレータを生成してくれたからです.直接呼び出すと呼び出されますが、@Webmvcテストで呼び出されない理由は後でご理解ください.

今テストに合格しました!



昨日と今日得た教訓Errorの情報を最初から最後までよく読みましょう.赤文字だけを見てキーワードで検索するのは正しい検索ではありません...解決して、教訓を吸収して、本当に幸いです!