ドキュメントが最新であることを確認するために、失敗したテストを使用するという概念が本当に気に入っています。しかし、ネストされたjsonで機能させる方法がわかりません。Spring REST Docs が階層ペイロードを処理する方法は、目的に反しているようです。
フィールドを文書化する場合、ペイロードに文書化されていないフィールドが見つかった場合、テストは失敗します。同様に、文書化されたフィールドがペイロードに見つからず、そのフィールドがオプションとしてマークされていない場合も、テストは失敗します。階層構造を持つペイロードの場合、フィールドを文書化するだけで、そのすべての子孫も文書化されたものとして扱われます。
ネストされた json のテストをどのように記述して、ペイロードを変更するとテストが失敗するのでしょうか?
例:
{
car: {
motor : {
brand: "Porsche",
power: "165 kW"
},
suspension: {
type: "automatic"
}
}
テスト:
.andDo(document("mytest", responseFields(
fieldWithPath("car").description("the car").type(JsonFieldType.OBJECT),
fieldWithPath("car.motor").description("the motor").type(JsonFieldType.OBJECT),
fieldWithPath("car.motor.brand").description("the motor brand").type(JsonFieldType.STRING),
fieldWithPath("car.suspension").description("the suspension"))))
car.motor.power と Suspension.type が定義されていなくても、これらの応答フィールド定義を使用したテストはパスします。それを機能させる方法はありますか?複数のテスト?