将 Swagger 生成的模型集成到个人测试框架中
Integrate Swagger-generated models into personal test framework
我有一个自己开发的Java项目(Maven-built),它是为测试一个API而创建的。里面有手动创建的 POJO 模型,我用它来从测试中的服务器响应中获取数据。
现在我们决定集成 Swagger。作为 QA,我的兴趣点是 Swagger json 是开发人员和 API 测试中唯一的 "source of truth"。所以我决定 java 模型必须动态生成以供测试使用。我设法生成了模型,但 swagger-codegen-cli 似乎创建了全新的 Java 项目。我当然可以只设置 -o 将生成的源放在我的 java-api-tests 项目中,但它似乎是错误的方法,我的目标在不同的地方更正确地实现方式。
您是否曾出于此类目的使用过 swagger?
是的,这很常见。考虑使用 swagger-codegen-maven-plugin 将文件从您的 swagger 定义写入生成的文件文件夹。然后您可以将它们用于您的测试等,并且 swagger 定义将始终是事实的来源。
您甚至可以考虑使用 github 存储库或其他存储库中的 wget 拉下 swagger 定义。你真的不想将它们写入 src/main
文件夹,你可以让它们存在于 generated-files
或 src/gen/java
.
codegen 允许您指定要生成的内容,避免 pom.xml 等
我有一个自己开发的Java项目(Maven-built),它是为测试一个API而创建的。里面有手动创建的 POJO 模型,我用它来从测试中的服务器响应中获取数据。
现在我们决定集成 Swagger。作为 QA,我的兴趣点是 Swagger json 是开发人员和 API 测试中唯一的 "source of truth"。所以我决定 java 模型必须动态生成以供测试使用。我设法生成了模型,但 swagger-codegen-cli 似乎创建了全新的 Java 项目。我当然可以只设置 -o 将生成的源放在我的 java-api-tests 项目中,但它似乎是错误的方法,我的目标在不同的地方更正确地实现方式。
您是否曾出于此类目的使用过 swagger?
是的,这很常见。考虑使用 swagger-codegen-maven-plugin 将文件从您的 swagger 定义写入生成的文件文件夹。然后您可以将它们用于您的测试等,并且 swagger 定义将始终是事实的来源。
您甚至可以考虑使用 github 存储库或其他存储库中的 wget 拉下 swagger 定义。你真的不想将它们写入 src/main
文件夹,你可以让它们存在于 generated-files
或 src/gen/java
.
codegen 允许您指定要生成的内容,避免 pom.xml 等