与 Dredd 进行合同测试时出现 Int32 错误
Int32 Error whilst contract testing with Dredd
我有一个使用 Swagger2 的应用程序。这有一个具有以下 swagger 文档的端点:
{
"MyEndpoint": {
"type": "object",
"properties": {
"resultCount": {
"type": "integer",
"format": "int32"
},
"results": {
"type": "array",
"items": {
"$ref": "#/definitions/MyResult"
}
},
"title": "MyEndpoint"
},
"MyResult": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "AResult"
}
}
}
这是根据我整个项目中的注释自动生成的。
当 运行 我的 Dredd 合同测试时,我遇到以下错误消息:
error: Error: unknown format "int32" is used in schema at path "#/properties/resultCount"
我的 dredd.yml
文件指向自动生成的文件,但如果我将其更改为指向手动创建的 json
文件,除了 resultCount
部分外,该文件与上面显示的文件相同看起来像这样:
"resultCount": {
"type": "integer"
}
那我的测试就通过了。
我正在使用这样的 springfox 注释生成这个 swagger 文档:
@ApiModel
public class MyResponse{
@ApiModelProperty(dataType = "Number")
private int resultCount;
@ApiModelProperty(dataType = "MyResult")
private MyResult aresult;
}
我想做的是添加某种注释,使 swagger2 生成没有 "format": "int32"
行的文档,这似乎导致了测试失败。
我认为这不是 Dredd 的问题,而是我不知道如何在 Swagger 中表达我想要的问题。任何想法如何解决这个问题?我需要使用某个注释吗?
降级到 dredd 12 为我解决了这个问题。看起来 13.x 版本有问题
我有一个使用 Swagger2 的应用程序。这有一个具有以下 swagger 文档的端点:
{
"MyEndpoint": {
"type": "object",
"properties": {
"resultCount": {
"type": "integer",
"format": "int32"
},
"results": {
"type": "array",
"items": {
"$ref": "#/definitions/MyResult"
}
},
"title": "MyEndpoint"
},
"MyResult": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "AResult"
}
}
}
这是根据我整个项目中的注释自动生成的。
当 运行 我的 Dredd 合同测试时,我遇到以下错误消息:
error: Error: unknown format "int32" is used in schema at path "#/properties/resultCount"
我的 dredd.yml
文件指向自动生成的文件,但如果我将其更改为指向手动创建的 json
文件,除了 resultCount
部分外,该文件与上面显示的文件相同看起来像这样:
"resultCount": {
"type": "integer"
}
那我的测试就通过了。
我正在使用这样的 springfox 注释生成这个 swagger 文档:
@ApiModel
public class MyResponse{
@ApiModelProperty(dataType = "Number")
private int resultCount;
@ApiModelProperty(dataType = "MyResult")
private MyResult aresult;
}
我想做的是添加某种注释,使 swagger2 生成没有 "format": "int32"
行的文档,这似乎导致了测试失败。
我认为这不是 Dredd 的问题,而是我不知道如何在 Swagger 中表达我想要的问题。任何想法如何解决这个问题?我需要使用某个注释吗?
降级到 dredd 12 为我解决了这个问题。看起来 13.x 版本有问题