Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以允许在网站中使用的方式对JavaScript代码进行单元测试?_Javascript_Unit Testing_Mocha.js - Fatal编程技术网

如何以允许在网站中使用的方式对JavaScript代码进行单元测试?

如何以允许在网站中使用的方式对JavaScript代码进行单元测试?,javascript,unit-testing,mocha.js,Javascript,Unit Testing,Mocha.js,我已经构建了一个web应用程序,我正在尝试构建一个自动化的单元测试套件,以便更容易地重构代码 我的网站上有正常运行的javascript代码。简单假设代码: function timesTwo(x){x*=2;return x} 如果我正在为NodeJS编写代码,我会添加测试来确认代码是否正常工作。下面是使用Wish和Mocha的示例: description('timestow()',function()){ 它('乘以2',函数(){ var结果=时间2(5); 愿望(结果=10); })

我已经构建了一个web应用程序,我正在尝试构建一个自动化的单元测试套件,以便更容易地重构代码

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

function timesTwo(x){x*=2;return x}
如果我正在为NodeJS编写代码,我会添加测试来确认代码是否正常工作。下面是使用Wish和Mocha的示例:

description('timestow()',function()){
它('乘以2',函数(){
var结果=时间2(5);
愿望(结果=10);
});
});
如果我在node.JS中运行此代码进行测试,则此代码(包括测试)工作正常,但现在它在我的浏览器中抛出错误:

require is not defined

describe is not defined

wish is not defined

我怎样才能为我的代码创建一个自动测试套件,而不会在浏览器中抛出错误?

如果我没有弄错的话,您也在将测试代码加载到浏览器中

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


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

也许单元测试“小”代码库被高估了我提供了一个小代码段作为示例,但实际代码大约有1000行。你是说我的脚本中应该有两个文件,其中一个有测试,另一个用于我的网页?或者,您是建议我维护一组代码,并以某种方式将其加载或导出到测试文件中?