【问题标题】:How do I structure node.js mocha tests [closed]我如何构建node.js mocha测试[关闭]
【发布时间】:2015-10-17 04:52:15
【问题描述】:

我是 node.js 单元测试的初学者,我想知道在 node.js 中编写单元测试的最佳实践是什么,例如 'it' 方法我可以拥有多少个断言测试用例,有吗任何标准只用单一的方法编写一个测试用例。请给我一个编写单元测试用例的想法。 提前致谢。:)

【问题讨论】:

  • Unit js 也是node js 的一个很好的测试框架。
  • 在 StackOverflow 上寻求“最佳实践”是有风险的 - 很多时候这会导致您的答案因固执己见或过于宽泛而被关闭。我已经编辑了你的标题以使其更具体。

标签: node.js unit-testing mocha.js assertions chai


【解决方案1】:

在一次 it() 调用中测试一部分功能,仅在确实需要时使用多个断言。

如果您在一次 it() 调用中使用 2 个断言,第一个失败将阻止执行第二个断言,从而隐藏部分测试,从而阻止您全面了解可能的错误。

研究如何在 describe 块中使用 before/after 和 beforeEach/afterEach - 这些将真正帮助您只在每个 it() 中对一小部分代码执行测试。见the 'Hooks' chapter in the mocha documentation

可以选择创建您自己的一组辅助函数,以准备为单个测试设置代码,以防止测试中出现(过多)代码重复 - 我相信测试中的代码重复与您的真实代码中的代码重复一样糟糕'代码。

【讨论】:

    【解决方案2】:

    This free tutorial 很好地解释了 Chai 和 Mocha,以及如何构建它。

    Mocha 是一个常规测试框架,而 Chai 是一个期望框架。主要区别在于syntactically sugary 是如何制定测试的(it() 用于测试用例),我个人也觉得这很混乱。

    首先,您可能应该坚持使用摩卡咖啡。它可能会帮助您弄清楚一些措辞:

    • Mocha 是一个测试框架(因此您有一组已定义的外部功能,用于填补空白,也就是放置您的测试等),而
    • Unit.js 是一个测试库,所以它提供了一堆函数(就像所有类型的断言一样),但你正在驱动你的脚本。 (没有测试套件,测试运行)

    mocha.js 框架使用unit.js 测试函数(see here)。

    【讨论】:

      猜你喜欢
      • 2019-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多