【问题标题】:How can I unit test my JavaScript code in a way that allows it to be used in a website?如何以允许在网站中使用的方式对我的 JavaScript 代码进行单元测试?
【发布时间】:2021-01-24 13:47:19
【问题描述】:

我已经构建了一个网络应用程序,并且正在尝试构建一个自动化单元测试套件,以便我可以更轻松地重构代码。

我的 javascript 代码可以在我的网站上正常运行。简单的假设代码:

function timesTwo(x){x*=2;return x}

如果我正在为 NodeJS 编写代码,我会添加测试以确认代码工作正常。下面是一个使用 Wish 和 Mocha 的示例:

describe('timesTwo()', function() {
  it('multiplies by two', function() {
    var result = timesTwo(5);
    wish(result === 10);
  });
});

如果我在 node.JS 中运行此代码(包括测试)来测试它,它可以正常工作,但现在它会在我的浏览器中引发错误:

require is not defined

describe is not defined

wish is not defined

如何以不会在浏览器中引发错误的方式为我的代码创建自动化测试套件?

【问题讨论】:

  • 也许单元测试“小”代码库被高估了
  • 我提供了一个小代码sn-p作为例子,但实际代码大约1000行左右。

标签: javascript unit-testing mocha.js


【解决方案1】:

如果我没记错的话,您还将测试代码加载到浏览器中。

问题是require 在您的浏览器中不可用。这意味着describewish 等函数根本不可用,因为require 不包含任何代码。

您应该做的是将测试与您的应用程序代码分开,并且只将应用程序代码加载到您的网站中。你如何做到这一点取决于你的构建系统、模板引擎等

【讨论】:

  • 你是说我的脚本应该有两个文件,其中一个包含测试,另一个用于我的网页?还是您建议我维护一组代码并以某种方式将其加载或导出到测试文件?
猜你喜欢
  • 2019-10-26
  • 1970-01-01
  • 2018-06-30
  • 2010-10-07
  • 1970-01-01
  • 2012-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多