【发布时间】:2019-02-13 15:59:35
【问题描述】:
我正在构建一个自动化 API 测试平台,并且我选择了空手道来完成这项工作。太糟糕了,它的引擎是为 Java 生态系统编写的,社区对 mongoDB 技术的支持不如 NodeJS 强大
因为我需要在 QA 环境中播种/清理数据库来执行测试,但我只有一个用 NodeJS 和一个特定库制作的播种脚本,所以现在我有两个机会
在运行空手道测试之前,继续使用 NodeJS 初始化脚本来填充我的数据库
使用 Java 种子库,该库支持从文件(例如 JSON)或 DB 转储中加载夹具,并在使用 JUnit 挂钩的每个功能之前执行种子
这两种选择都应该使 devs/qas 能够构建多个夹具,并选择哪个适合于一组特定的功能测试。例如,在场景 #1 中,我可以编写一个 sh 脚本
npm run seed
mvn clean test
但它缺乏 qa 对要加载哪些数据的控制(除非您未在此 shell 脚本中指定它,这意味着必须经常更新并且必须“知道”实现了哪些功能以及何时运行它们)。另一个缺点是CI服务器必须安装nodeJS并且管道配置必须知道它,并且CI服务器上不应该安装很多工具
有什么建议吗? 谢谢
【问题讨论】:
标签: mongodb junit continuous-integration automated-tests karate