私が取り組んでいるアプリケーションでは、Web サービスからいくつかのデータを消費し、処理してから、フロントエンドに送信する必要があります。今、フロントエンドに送信された値の正確性をチェックする必要がある統合テストを作成しようとしています。
次のようにして、アプリケーション コンテキストを読み込むことができました。
@Inject
private WebApplicationContext wac;
@BeforeMethod
public void setup() throws Exception {
MockitoAnnotations.initMocks(this);
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac)
.addFilters(this.springSecurityFilterChain).build();
}
その後、次のようなことをすると:
mockMvc.perform(get("/url"))
.andDo(print())
.andExpect(status().isOk())
それは非常にうまく機能し、ブラウザからの応答と同じ応答が得られます。
他の API からのデータを使用するには、RestTemplate.getForObjetct
メソッドを使用します。そこで、このメソッドの呼び出しをインターセプトして、答えをモックする方法はないかと考えています。