0

ドキュメントが最新であることを確認するために、失敗したテストを使用するという概念が本当に気に入っています。しかし、ネストされた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 が定義されていなくても、これらの応答フィールド定義を使用したテストはパスします。それを機能させる方法はありますか?複数のテスト?

4

1 に答える 1