【问题标题】:Javascript Unit testJavascript 单元测试
【发布时间】:2015-06-05 04:24:19
【问题描述】:

我有一个 250 行以内的 javascript 应用程序,并想向其中添加测试。每当我进行微小的更改时,我都必须手动运行至少 10 个案例的测试,我想将其自动化。

我本可以按照不同帖子中的建议选择框架,但我想要的解决方案是最小化摩擦和代码库。诸如用于单元测试的单个文件之类的东西可能会起作用。

有没有办法在没有任何框架的情况下使用 JS 测试?我想同时编写单元测试/功能测试。或者,如果框架是唯一的选择,那么就现有代码的插件易用性和学习曲线而言,哪些框架是首选的。

【问题讨论】:

    标签: javascript unit-testing testing functional-testing


    【解决方案1】:

    我会选择一个框架。虽然您的用例现在可能很简单,但您可能会发现自己处于一个需要更多功能的项目中。对于您认真使用的任何语言,您应该熟悉至少一个测试框架/库。构建系统和包管理也是如此。

    对于 javascript,我只使用了mocha。它非常全面,易于学习,可以在浏览器或节点中使用,并且测试实际上看起来非常干净且易于阅读。

    另外,使用 mocha,您可以选择自己的断言库,我使用 chai。它在构建时考虑了 tdd 和 bdd,它让编写断言感觉更像是编写自然句子而不是代码。当然,你仍然可以使用你的 js 环境为你提供的任何默认断言工具,如果有的话。

    【讨论】:

      【解决方案2】:

      单元测试框架很有帮助,因为它提供了运行测试并为您提供反馈的环境。不使用一个将是对你自己承担这些责任,而且工作量会比你想要做的要多得多。

      如果您使用节点,设置单元测试框架非常容易。我喜欢将 Karma 用作带有 mocha 测试框架和 chai 断言库的测试运行器。

      【讨论】:

        【解决方案3】:

        在没有任何框架的情况下使用纯 javascript 设置自动化单元测试真的很困难。如果您尝试自己重新发明现有 javascript 单元测试框架的轮子,这可能比您编写测试的 250 行代码要付出巨大的努力。

        所以如果你要一个框架,jasmine 和 qunitjs 是有前途的 javascript 单元测试框架。

        http://jasmine.github.io/

        https://qunitjs.com/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-18
          • 2016-06-07
          • 2011-11-16
          相关资源
          最近更新 更多