問題タブ [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.
spring-restdocs - Spring RestDocs - 子ドキュメント内のドキュメント リンク?
Spring REST Docs を使用して子ドキュメント内のリンクを文書化するにはどうすればよいですか?
次の JSON ドキュメントがあるとします。
リファレンス ドキュメントで提案されているようにlinks
、カスタムLinkExtractorを実装することで文書化できます( HalLinkExtractorに非常によく似た実用的な実装があります)。
ただし、私の JSON ドキュメントにはlinks
、他の場所にサブドキュメントが含まれています。
サブlinks
ドキュメントに関連付けられたドキュメントを文書化するにはどうすればよいですか? foo
理想的には、次のようなことをしたいと思います:
当然、方法がないのでこれは機能しませんjsonPath(..)
。他にどのようなオプションがありますか?
を使用し、サブHalLinkExtractor
ドキュメントにリンクを文書化しようとすると、同じ問題が発生すると思います ( draft-kelly-json-halの例を参照)。_embedded
spring-restdocs - RestDocumentation クラス 春
Spring org.springframework.restdocs.RestDocumentation クラスは、org.junit.rules.TestRule の apply メソッドをオーバーライドします。これは、すべてのテスト ケースを Junit で記述する必要があることを意味します。TestNG を使用して同じ機能を実現するにはどうすればよいですか。
java - Spring REST ドキュメント テストで使用されていないカスタム Jackson モジュール
カスタム Jackson モジュール (Spring Boot 1.3 を使用) を使用して、Spring REST ドキュメントに小さなテストを作成しました。私のアプリケーションのメインクラスには、@SpringBootApplication
. JacksonCustomizations
次に、次のような別のクラスがあります。
このカスタマイズは完璧にピックアップされています。Spring Boot アプリケーションを実行すると、本来あるべき JSON が表示されます。
ただし、ドキュメント テストでは、カスタマイズは適用されません。これは私のテストのコードです:
}
テストのアプリケーション コンテキストがJacksonCustomizations
構成をインポートする方法に注意してください。
私が見つけた他のもの:
@EnableWebMvc
ブート アプリケーションを追加すると、カスタマイズが機能しなくなります。- テストで を削除する
@EnableWebMvc
と、JSON の生成が停止します。
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 ファイルに設定されていますか?
java - モックされたリポジトリで MockMvc を使用するには?
コネクスト
ここでこの質問を見つけましたが、私の問題は異なります。
したがって、 と を使用
Katharsis Controller
してSpring Data Rest
います。アプリケーション全体に対して 1 つのコントローラーしかなく、リクエストは
Spring Data Rest
リポジトリ クラスに送信されます。Spring Restdoc
を使用して単体テストを作成する必要があるドキュメントを生成するために使用したいと考えていますMockMvc
。ただし、 を使用
Mockmvc
すると、コンテナが起動し、データソースを設定する必要があります。standaloneSetup()
モックされたリポジトリ クラスを使用して渡すと、MockMvc
ロードさKatharsis Controller
れないため、リクエストはそのリポジトリに到達しません。インメモリ データベースを作成できることは理解していますが、プロジェクトが大きく、データベースに膨大な数のテーブルを作成する必要があるため、これらのテストは文書化を目的としているため、避けたいと考えています。
質問
これを達成し、ターゲット リポジトリ クラスのみをモックする方法はありますか?
ノート
リポジトリとは、CrudRepository
のインターフェイスを意味しますSpring DataRest
。
spring - HttpRequestMethodNotSupportedException: リクエスト メソッド 'POST' はサポートされていません
私が実行しているMockMvcで単体テストを作成する:
HttpRequestMethodNotSupportedException: リクエスト メソッド 'POST' はサポートされていません
これにより、テスト ケースは「200」を予期して失敗し、「405」を取得します。Junit に表示される可能性のある追加事項のいくつかは、Spring Rest ドキュメント用であり、無視できます。@Rule や mockMvc Call の .andDo() など。次のドキュメントSpring Rest Docs - Path Parameterに従っていますが、機能していないようです。
コントローラーは次のとおりです。
Junit クラスは次のとおりです。
テスト実行中のコンソールは次のとおりです。