【问题标题】:Node Testing: how to run bash commands after mocha test cases节点测试:如何在 mocha 测试用例之后运行 bash 命令
【发布时间】:2017-07-19 02:15:36
【问题描述】:

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

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

那么,这是一个好的做法吗?如果是,我该如何实现,比如在 js 文件中编写 bash 命令(执行 mocha 测试用例)?

【问题讨论】:

  • 你需要使用child_process

标签: node.js selenium testing mocha.js


【解决方案1】:

如果您有合理数量的迁移,更好的方法是删除表(和集合)并通过迁移重新创建它们,而不是删除整个数据库。这具有验证向下迁移的额外优势,如果您必须恢复,这会很方便。

您可以在测试开始时运行迁移(向下然后向上)。我们正在使用db-migrate,这就是您可以在package.json 中执行此操作的方法

"scripts": {
    "test": "npm run testdb && <test command>",
    "testdb": "db-migrate reset --env test && db-migrate up --env test"
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 2011-01-15
    • 2022-07-23
    相关资源
    最近更新 更多