我有一个应用程序,可以在其中搜索Books
和Movies
。这两个实体具有不同的属性,因此它们的JSON结构也不同。
我还有一个GET /favorites
端点,该端点应同时返回Books
和Movies
。
GET /favorites
{
"favorites": [
{
"type": "book",
"title": "Foo",
"author": "John"
},
{
"type": "movie",
"name": "Bar",
"producers": [
{
"firstName": "Mary"
}
]
}
]
}
我在这种情况下搜索了文档,但找不到任何东西。如何为该用例写一份契约合同?
答案 0 :(得分:1)
为此,我将编写两个单独的测试用例,并使用提供者状态来区分这两个有效负载。
例如:
或者类似的东西。有关此背景,请参见[1]。
[1] https://docs.pact.io/faq#why-is-there-no-support-for-specifying-optional-attributes