【问题标题】:Run Chai and Mocha tests periodically定期运行 Chai 和 Mocha 测试
【发布时间】:2019-06-28 00:36:22
【问题描述】:

我有多个使用 Mocha 和 Chai 编写的测试,用于测试我的 Web 应用程序的行为和功能。我希望能够自动并定期运行它们,比如每小时运行一次。是否有任何服务或软件工具可以定期运行您的测试?

【问题讨论】:

    标签: javascript testing automated-tests mocha.js chai


    【解决方案1】:

    您可以使用 (Jenkins) 或简单地使用 crontab(在 linux 系统上)运行测试

    与詹金斯:

    Jenkins 可以安装在 Linux 服务器上。它可以定期运行“构建”,或者在您的 Github/您的自定义 GIT 服务器上推送提交时运行。这些构建可以有一个或多个步骤,例如:

    1. 从 GIT 中拉取
    2. 运行 NodeJS 服务器
    3. 执行测试

    然后,如果测试失败,您会通过电子邮件收到报告。由于有许多插件,这个工具非常可定制。

    Full example of test automation with ExpressJS and GitHub

    使用 crontab:

    另一种可能性(最简单)是使用 crontab 来安排任务,方法是键入:

    crontab -e
    

    Cron 示例:

    0 * * * * node /path/to/your/script.js
    

    此命令将每小时对当前用户执行一次。

    更多关于维基百科:Cron

    【讨论】:

    • 不允许简单引用网站而不发布要领。使用非 wiki Cron 示例编辑您的答案。对于詹金斯来说,我不是那个话题的专家,你刚刚被送进了灌木丛,迷路了,死于脱水。如果您想参考 Jenkins,请添加一些有关如何操作的详细信息,以便我可以从中学习。现在我花了太多时间(> 5 分钟)来掌握它的基本窍门。请完成这次旅行,您也会对我的 cmets 有所了解。查看第一个答案帖子的结尾。修复答案并享受 SO ;-)
    • 所以在 Jenkins 中我可以上传我当前的测试套件并对其进行配置,以便定期运行它?测试是在 Jenkins 的服务器上运行还是在哪里运行?
    • 让我感到困惑的是以下几点。我的测试和我的 Web 应用程序是完全解耦的。我的整个 Web 应用程序都在 bitbucket 存储库 A 中,我的所有测试都在 bitbucket 存储库 B 中,但看起来您指的是包含整个 Java 应用程序及其测试的单个存储库。我想在只有我的测试脚本驻留的存储库中安排定期构建,这有意义吗?
    • 我的测试然后负责与应用程序交互,而不必在同一个存储库中。因此,理想情况下,我希望 Jenkins 从测试存储库中获取我的所有文件,并在命令行终端上简单地运行类似“npm run test”的命令。
    • 我明白了。这是一个可以帮助您的示例:当您推送存储库 A 时,Jenkins 会运行构建。此构建包括拉取存储库 B(测试),然后运行测试。显然,您的应用程序必须可以从 Jenkins 服务器访问:)
    猜你喜欢
    • 2017-02-18
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-01
    • 2013-04-11
    • 2019-02-04
    相关资源
    最近更新 更多