Javascript &引用;未声明变量";Cloud9摩卡测试中的警告
我对node.js和用于单元测试的框架Mocha是新手,但我在Cloud9IDE中创建了几个测试,只是为了看看它是如何工作的。代码如下所示:Javascript &引用;未声明变量";Cloud9摩卡测试中的警告,javascript,unit-testing,node.js,mocha.js,cloud9-ide,Javascript,Unit Testing,Node.js,Mocha.js,Cloud9 Ide,我对node.js和用于单元测试的框架Mocha是新手,但我在Cloud9IDE中创建了几个测试,只是为了看看它是如何工作的。代码如下所示: var assert = require("assert"); require("should"); describe('Array', function(){ describe('#indexOf()', function(){ it('should return -1 when the value is not present', fun
var assert = require("assert");
require("should");
describe('Array', function(){
describe('#indexOf()', function(){
it('should return -1 when the value is not present', function(){
assert.equal(-1, [1,2,3].indexOf(5));
assert.equal(-1, [1,2,3].indexOf(0));
});
});
});
describe('Array', function(){
describe('#indexOf()', function(){
it('should return the index when the value is present', function(){
assert.equal(1, [1,2,3].indexOf(2));
assert.equal(0, [1,2,3].indexOf(1));
assert.equal(2, [1,2,3].indexOf(3));
});
});
});
如果我在控制台中键入mocha,测试就可以工作,但是IDE在“descripe”和“it”的行中显示警告,因为它表示变量尚未声明(“undeclared variable”)
我想知道我应该做些什么来避免这些警告
谢谢。这是因为
mocha
“可执行文件”将您的测试包装在require
s中,以使用mocha函数(description
,以及it
)。查看节点模块/mocha/bin
目录中的mocha
和\u mocha
另一方面,
cloud9
尝试使用纯节点
可执行文件解析所有符号,因此您必须手动要求
所有内容。在cloud9中,您可以在文件顶部添加全局提示作为注释,并删除警告。
e、 g
那么,我手工需要什么呢?因为我试着去做var mocha=require(“mocha”);把代码改成摩卡咖啡,描述一下。。。警告消失了,但当执行摩卡时失败了。@Juanillo我不确定是否有一个简单的解决方法。您可以强制cloud9运行您的mocha测试,但这并不能解决未声明变量的问题。好的,谢谢,我对此很好奇,因为我是这个平台的新手,但我想知道有经验的程序员是否会在这种情况下做些什么。但似乎其他真正的项目也在使用类似代码的摩卡咖啡。也许他们在cloud9中工作时忽略了警告,但我真的很惊讶,在一个非常严肃的项目中,代码可能会出现警告。我认为正确的语法是
/*global,请在前面描述它*/
。另见
**/* global describe it before */**
var expect = require('chai').expect;
describe('Array', function(){
describe('#indexOf()', function(){
it('should return -1 when the value is not present', function(){
expect(true).to.equal(true);
})
})
})