使用TravisCI对MariaDB进行Dredd测试

时间:2017-03-27 21:54:11

标签: mariadb travis-ci dredd

我试图让travis在构建过程中运行dredd测试。我意识到我需要运行mariaDB作为流程的一部分。我不确定如何在运行dredd测试之前创建表或插入样本数据。我已经添加了mariadb作为travis.yml的插件,并且就此而言。 另外,为了在travis中运行dredd,我也将使用docker-compose。

编辑:

我的travis.yml正在运行

docker-compose up -d
sleep 30
BUNCH OF SQL COMMANDS to create tables and insert data
dredd

但此时我的dredd.yml已经

server: docker-compose up

所以我似乎先在travis中调用docker-compose并运行mysql命令,然后在dredd之前再次调用它。我相信我只需要在钩子中的dredd测试之前做到这一点

2 个答案:

答案 0 :(得分:0)

您需要使用" setup"扩展Dredd测试和"拆解"在测试API之前填充数据库的操作,然后清除数据库(以隔离单个测试)。

您可以使用Dredd Hooks来执行此操作。 Isolation of HTTP Transactions的概念也在Dredd文档中进行了描述。

答案 1 :(得分:0)

想出来,

在我的travis.yml中我:

docker-compose up -d
sleep 30
~~RUN SQL COMMANDS TO CREATE TABLES/ADD DATA~~
docker-compose stop
sleep 5 (to allow for compose to start up)
dredd

然后在我的dredd.yml:

server: docker-compose up
server-wait: 60