pact - 如何处理 Pact 上的多态端点?
问题描述
我有一个应用程序,我可以在其中搜索Books
和Movies
。这 2 个实体具有不同的属性,因此它们的 JSON 结构不同。
我还有一个GET /favorites
端点应该同时返回Books
和Movies
。
GET /favorites
{
"favorites": [
{
"type": "book",
"title": "Foo",
"author": "John"
},
{
"type": "movie",
"name": "Bar",
"producers": [
{
"firstName": "Mary"
}
]
}
]
}
我搜索了有关此案例的文档,但找不到任何内容。我如何为这个用例编写 Pact 合同?
解决方案
我会为此编写两个单独的测试用例,并使用提供者状态来区分这两个有效负载。
例如:
- 有书的时候
- 有电影的时候
或者类似的东西。有关这方面的相关背景,请参见 [1]。
[1] https://docs.pact.io/faq#why-is-there-no-support-for-specifying-optional-attributes
推荐阅读
- mysql - MySQL Union 语句和计数
- dynamic - SAP HANA - 如何创建一个查看 x 日期的动态查询,为我提供 x 日期前后 2 周的所有记录?
- javascript - 如何删除 Chart.js x Axis 底线?
- php - 控制器中的 Laravel 5.8 问题试图访问数组
- performance - 在一帧中实例化多个对象或每帧一个对象?
- php - 如何在 PHP 中为二维数组中的每一行创建一个编辑按钮
- jquery - 如何使用 jQuery 从只读输入中获取值
- mysql - 如果相等则插入 mysql
- python-3.x - 从 chrome 位置 /usr/bin/google-chrome 开始的进程不再运行,因此 ChromeDriver 假设 Chrome 已为 Selenium 崩溃
- swift - 这个 Safari Blocker 正则表达式有什么问题?