問題タブ [spring-restdocs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
669 参照

spring-restdocs - Spring RestDocs - 子ドキュメント内のドキュメント リンク?

Spring REST Docs を使用して子ドキュメント内のリンクを文書化するにはどうすればよいですか?

次の JSON ドキュメントがあるとします。

リファレンス ドキュメントで提案されているようにlinks、カスタムLinkExtractorを実装することで文書化できます( HalLinkExtractorに非常によく似た実用的な実装があります)。

ただし、私の JSON ドキュメントにはlinks、他の場所にサブドキュメントが含まれています。

サブlinksドキュメントに関連付けられたドキュメントを文書化するにはどうすればよいですか? foo理想的には、次のようなことをしたいと思います:

当然、方法がないのでこれは機能しませんjsonPath(..)。他にどのようなオプションがありますか?

を使用し、サブHalLinkExtractorドキュメントにリンクを文書化しようとすると、同じ問題が発生すると思います ( draft-kelly-json-halの例を参照)。_embedded

0 投票する
1 に答える
93 参照

spring-restdocs - RestDocumentation クラス 春

Spring org.springframework.restdocs.RestDocumentation クラスは、org.junit.rules.TestRule の apply メソッドをオーバーライドします。これは、すべてのテスト ケースを Junit で記述する必要があることを意味します。TestNG を使用して同じ機能を実現するにはどうすればよいですか。

0 投票する
1 に答える
2146 参照

java - Spring REST ドキュメント テストで使用されていないカスタム Jackson モジュール

カスタム Jackson モジュール (Spring Boot 1.3 を使用) を使用して、Spring REST ドキュメントに小さなテストを作成しました。私のアプリケーションのメインクラスには、@SpringBootApplication. JacksonCustomizations次に、次のような別のクラスがあります。

このカスタマイズは完璧にピックアップされています。Spring Boot アプリケーションを実行すると、本来あるべき JSON が表示されます。

ただし、ドキュメント テストでは、カスタマイズは適用されません。これは私のテストのコードです:

}

テストのアプリケーション コンテキストがJacksonCustomizations構成をインポートする方法に注意してください。

私が見つけた他のもの:

  • @EnableWebMvcブート アプリケーションを追加すると、カスタマイズが機能しなくなります。
  • テストで を削除する@EnableWebMvcと、JSON の生成が停止します。
0 投票する
2 に答える
1571 参照

spring-mvc - Spring Rest Docs スニペットまたは .adoc ファイルにアプリケーション名を含めるにはどうすればよいですか

Spring Rest Docs を Spring Boot アプリケーションに含めようとしており、アプリケーション ルート '/' へのリクエスト パスを示す単純な asciidoc HTML ファイルを生成することができました。問題は、スニペットのリクエスト URL にアプリケーション名が含まれていないことですか? たとえば、私のアプリケーションは「myservice」と呼ばれているので、ルート「/」リクエストパスを次のように文書化したいと思います

$ curl ' http://localhost:8080/myservice/ '

代わりに、生成することしかできません

$ curl ' http://localhost:8080/ '

Spring Rest Docs は初めてで、文書化された URL にアプリケーション名を含める方法がわかりません。asccidoctor の Maven プラグイン、テスト クラスの @before または @Test メソッド、または「include」タグの一部として .adoc ファイルに設定されていますか?

0 投票する
1 に答える
2926 参照

java - モックされたリポジトリで MockMvc を使用するには?

コネクスト

  • ここでこの質問を見つけましたが、私の問題は異なります。

  • したがって、 と を使用Katharsis ControllerしてSpring Data Restいます。

  • アプリケーション全体に対して 1 つのコントローラーしかなく、リクエストはSpring Data Restリポジトリ クラスに送信されます。

  • Spring Restdocを使用して単体テストを作成する必要があるドキュメントを生成するために使用したいと考えていますMockMvc

  • ただし、 を使用Mockmvcすると、コンテナが起動し、データソースを設定する必要があります。

  • standaloneSetup()モックされたリポジトリ クラスを使用して渡すと、MockMvcロードさKatharsis Controllerれないため、リクエストはそのリポジトリに到達しません。

  • インメモリ データベースを作成できることは理解していますが、プロジェクトが大きく、データベースに膨大な数のテーブルを作成する必要があるため、これらのテストは文書化を目的としているため、避けたいと考えています。

質問

これを達成し、ターゲット リポジトリ クラスのみをモックする方法はありますか?

ノート

リポジトリとは、CrudRepositoryのインターフェイスを意味しますSpring DataRest

0 投票する
1 に答える
16484 参照

spring - HttpRequestMethodNotSupportedException: リクエスト メソッド 'POST' はサポートされていません

私が実行しているMockMvcで単体テストを作成する:

HttpRequestMethodNotSupportedException: リクエスト メソッド 'POST' はサポートされていません

これにより、テスト ケースは「200」を予期して失敗し、「405」を取得します。Junit に表示される可能性のある追加事項のいくつかは、Spring Rest ドキュメント用であり、無視できます。@Rule や mockMvc Call の .andDo() など。次のドキュメントSpring Rest Docs - Path Parameterに従っていますが、機能していないようです。

コントローラーは次のとおりです。

Junit クラスは次のとおりです。

テスト実行中のコンソールは次のとおりです。