我已经建立了一个web应用程序,我正试图建立一个自动化的单元测试套件,以便我可以更容易地重构代码。
我有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
我如何为我的代码创建一个自动化的测试套件,而不会在浏览器中抛出错误?
如果我没弄错的话,您还将测试代码加载到浏览器中。
问题是require
不是在浏览器中可用的东西。这意味着像describe
和wish
这样的函数根本不可用,因为require
没有包含任何代码。
你应该做的是将测试与应用程序代码分开,只将应用程序代码加载到你的网站中。如何做到这一点取决于你的构建系统,模板引擎等