使用 TravisCI 对 MariaDB 进行 Dredd 测试

Dredd Tests with MariaDB using TravisCI

我正在尝试在构建过程中进行 travis 运行 dredd 测试。我意识到我需要 运行 mariaDB 作为该过程的一部分。我不确定如何在 dredd 测试 运行 之前创建 table 或插入样本数据。我已经将 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 和 运行 mysql 命令中调用 docker-compose,然后在 dredd 之前再次调用它。我相信我应该只需要在钩子中的 dredd 测试之前做这件事

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

您可以使用 Dredd Hooks to do that. The concept of Isolation of HTTP Transactions Dredd 文档中也有描述。

想通了,

在我的 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