节点测试:如何在mocha测试用例之后运行bash命令

时间:2017-07-19 02:15:36

标签: node.js selenium testing mocha

我正在使用MochaSelenium为我的节点网络应用进行e2e测试。现在问题是,我想在执行所有测试用例后拆除数据库。

Backend使用两个数据库 - mongo和postgres。我创建了每个新的空测试数据库,仅用于e2e测试。在测试期间,一些记录被插入到数据库中。因此,在测试结束时(当调用selenium的mocha测试用例全部执行时),我想拆除测试数据库并创建新数据库。这些操作显然是由bash命令完成的。

那么,这是一个很好的做法,如果是这样,我怎样才能实现这一点,比如在js文件中执行bash命令(执行mocha测试用例)?

1 个答案:

答案 0 :(得分:-1)

更好的方法是删除表(和集合)并通过迁移重新创建它们,而不是在有合理数量的迁移时删除整个数据库。这有一个额外的优点,即验证您的向下迁移,如果您不得不还原,这可能很方便。

您可以在测试开始时运行迁移(向下,然后向上)。我们正在使用db-migrate,您可以在package.json

中执行此操作
"scripts": {
    "test": "npm run testdb && <test command>",
    "testdb": "db-migrate reset --env test && db-migrate up --env test"
}