@RestController
は@MessagingGateway
を使用していますが、Spring REST DocsにSpring Integrationコンポーネントをモックするためのサポートが組み込まれているかどうかは疑問です。 Spring REST Docsを活用してこのシナリオのドキュメントを生成する最良の方法は何ですか(具体的には、@MessagingGateway
を模擬するためのサポートされている方法は何ですか)。@ REST DocsテストのMocking @MessagingGateway
1
A
答えて
1
あなたは、あなたがそれに注入モックインタフェースを持つコントローラに対してRESTドキュメントを実行したい意味ならば、このような何かが動作するはずです...
@Autowired
private MyController controller;
@Test
public void restDocsWithMockGateway() {
MyGateway gate = mock(MyGateway.class);
willReturn(new Bar("xxx")).given(gate).foo(any(Foo.class));
this.controller.setMyGateway(gate); // replace the SI implementation with the mock
// now do mockmvc stuff with REST Docs
}
しかし
@MessagingGateway
public interface MyGateway {
Bar foo(Foo foo);
}
を仮定しますゲートウェイを嘲笑することは、REST Docsとはまったく関係がありません。
これが意味することではない場合は、質問を拡大してください。
+0
autowiringを使用している場合は、テストから '@ IntegrationComponentScan'を省略し、モック' @ Bean'を追加するだけです。 –
関連する問題
- 1. JunitテストのMockingアンドロイドメソッド
- 2. 外部インターフェースの "@MessagingGateway"アノテーション
- 3. NHibernate Unit Mocking/In Memoryデータベースのテスト
- 4. Spring Rest Docsのbyte []レスポンスの文書化
- 5. AsciiDoc(Spring Rest Docs)のタブを使用
- 6. REST APIのテスト
- 7. Android Loopj AndroidAsyncHttp mocking
- 8. Swaggerドキュメンテーションを使ってMocking Rest Apiを試す
- 9. Node.jsのSinon.jsを使った単体テスト用のMocking
- 10. REST APIエンドポイントのテスト
- 11. Mocking Membership
- 12. Mocking WebOperationContext
- 13. Mocking Unmarshaller
- 14. Mocking unit testでsession.clear()をテストする方法
- 15. mockingを使用してnext_day_of_week関数をテストする方法
- 16. 簡単なテストViewResultとmockingコントローラで使用されるモデル
- 17. スプリングブート1.4 - REST APIテスト
- 18. Rest API機能テスト
- 19. Django Rest Framework:シリアライザのテスト
- 20. スプリングブートRESTアプリケーションのテスト方法
- 21. JAXRS + JerseyTest RESTサービスのテスト
- 22. PlayでのMocking! Scala
- 23. Mocking .nettiers DataRepository calls
- 24. SimpleTest Mocking Problem
- 25. Chefspec mocking issue
- 26. Mocking Entity Framework Context
- 27. MockingとHttpContextBase.get_User()
- 28. mocking authentication spring security
- 29. mocking java8 stream.map
- 30. Moq mocking a class
あなたの意図がはっきりしません。 REST Docsは、REST APIを文書化するのに役立ちます。 'MessagingGateway'はRESTメソッドの中で使われるかもしれませんが、APIの一部とはみなされません。任意の標準モッキングツール(Mockitoなど)でゲートウェイメソッドをモックできます。おそらく私はあなたの質問に何かを見逃しています。もしそうなら、あなたの質問を編集して、詳細と、おそらくあなたが意味するものの例を展開してください。 –
RestTemplateを使ってリモートAPIを呼び出すときに '@ AutoConfigureStubRunner'と同等のものを探していました。別の私の郵便で、あなたが私を私の代わりにしてくれたことを覚えているかもしれません(https://stackoverflow.com/questions/47948454/messaginggateway-spring-cloud-stream-and-error-handling-across-both)。 Spring Cloud Streamを利用するリクエストを非同期で処理するために、すべてのバックエンドサービスを変更した後、RestTemplateを使用して '@ MessagingGateway'でリモートAPIを呼び出します。私はフロントエンドのREST APIを持っていますが、私はまだドキュメントを生成したいと思います。 –
REST(API)ドキュメントとRESTコントローラの内部構造が混在しているようです。私の答えが役立つかどうかを確認してください。 '@ MessagingGatewau'は単なるインタフェースなので、それを模擬するのは簡単です。 –