使用 Mocha 返回错误测试 Angular
Testing Angular with Mocha returning error
我使用
安装了 Mocha 和 Shouldjs
npm install -g mocha
npm install -g should
测试我的 Angular 应用程序。我从here复制了一个测试,内容如下:
describe('addition', function () {
it('should add 1+1 correctly', function (done) {
var onePlusOne = 1 + 1;
onePlusOne.should.equal(2);
// must call done() so that mocha know that we are... done.
// Useful for async tests.
done();
});
});
然而,当我运行测试使用
mocha mytest.js
我收到这个错误:
addition
1) should add 1+1 correctly
0 passing (7ms)
1 failing
1) addition should add 1+1 correctly:
TypeError: Cannot call method 'equal' of undefined
at Context.<anonymous> (C:\wamp\www\myproj\v4\static\src\app\project\overview\overview.spec.js:4:27)
at Test.Runnable.run (C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runnable.js:218:15)
at Runner.runTest (C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runner.js:374:10)
at C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runner.js:452:12
at next (C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runner.js:299:14)
at C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runner.js:309:7
at next (C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runner.js:248:23)
at Object._onImmediate (C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runner.js:276:5)
at processImmediate [as _immediateCallback] (timers.js:345:15)
谁能知道如何解决这个问题?
查看文档,他们似乎需要将原语包装在 ( ) 中才能使其正常工作:
https://github.com/shouldjs/should.js
var should = require('should');
(5).should.be.exactly(5).and.be.a.Number;
还有:
Should(5).be.exactly(5)
会起作用。
所以尝试将您的代码更改为:
(一加一).should.equal(2);
我使用
安装了 Mocha 和 Shouldjsnpm install -g mocha
npm install -g should
测试我的 Angular 应用程序。我从here复制了一个测试,内容如下:
describe('addition', function () {
it('should add 1+1 correctly', function (done) {
var onePlusOne = 1 + 1;
onePlusOne.should.equal(2);
// must call done() so that mocha know that we are... done.
// Useful for async tests.
done();
});
});
然而,当我运行测试使用
mocha mytest.js
我收到这个错误:
addition
1) should add 1+1 correctly
0 passing (7ms)
1 failing
1) addition should add 1+1 correctly:
TypeError: Cannot call method 'equal' of undefined
at Context.<anonymous> (C:\wamp\www\myproj\v4\static\src\app\project\overview\overview.spec.js:4:27)
at Test.Runnable.run (C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runnable.js:218:15)
at Runner.runTest (C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runner.js:374:10)
at C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runner.js:452:12
at next (C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runner.js:299:14)
at C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runner.js:309:7
at next (C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runner.js:248:23)
at Object._onImmediate (C:\Users\Imray\AppData\Roaming\npm\node_modules\mocha\lib\runner.js:276:5)
at processImmediate [as _immediateCallback] (timers.js:345:15)
谁能知道如何解决这个问题?
查看文档,他们似乎需要将原语包装在 ( ) 中才能使其正常工作:
https://github.com/shouldjs/should.js
var should = require('should');
(5).should.be.exactly(5).and.be.a.Number;
还有:
Should(5).be.exactly(5)
会起作用。
所以尝试将您的代码更改为:
(一加一).should.equal(2);