我完全没有想到这里发生了什么,所以希望有人可以提供帮助。
这是我正在测试的脚本;
function MyFunc() {
this.test = 'hello world';
};
module.exports = MyFunc;
这是我的测试;
var expect = require('chai').expect;
var MyFunc = require('../myfunc.js');
describe('MyFunc', function() {
it('test should equal to Hello World', function() {
var subject = new MyFunc;
expect(subject.test).to.eql('hello world');
});
})
当我运行测试时,它失败并且它给了我这个消息;
TypeError: MyFunc is not a function
我简化了代码只是为了解决我的问题,但我尝试了几种变化无济于事。我花了很多时间寻找类似的问题而没有快乐(通常这意味着我正在做的事情是愚蠢的。让我们希望。)
我以非常类似的方式测试我的Angular代码,完全没有任何问题。我很难过!
感谢您花时间阅读,
安东尼
答案 0 :(得分:1)
更改var subject = new MyFunc
===> var subject = new MyFunc()
describe('MyFunc', function() {
it('test should equal to Hello World', function() {
var subject = new MyFunc();
expect(subject.test).to.eql('hello world');
});
})