使用node.js导出类

我在一个名为bob_test.spec.js

要求('./bob');
描述(“Bob”,函数(){
var bob=新的bob();
它(“陈述某事”,函数(){
var result=bob.hey('Tom-ay-to,Tom-aaah-to');
期望(结果)。toEqual(“无论什么”);
});
});

为了通过测试,我在一个名为bob.js的文件中编写了以下生产代码

“严格使用”;
var Bob=函数(){
}
Bob.prototype.hey=函数(文本){
返回“无论如何”;
}
module.exports=Bob;

当我使用jasmine节点运行测试时,-我得到以下结果
F

故障:
1) Bob遇到一个声明异常
信息:
ReferenceError:未定义Bob
堆栈跟踪:
ReferenceError:未定义Bob
无效。<匿名>(/Users/matt/Code/oss/consived practice/exercism/javascript/bob/bob_test.spec.js:4:17)
反对。<匿名>(/Users/matt/Code/oss/consived practice/exercism/javascript/bob/bob_test.spec.js:3:1)
在模块处编译(Module.js:456:26)
在Object.Module.\u extensions..js(Module.js:474:10)
在Module.load(Module.js:356:32)
在Function.Module.\u加载(Module.js:312:12)
at Module.require(Module.js:364:17)
根据需要(模块js:380:17)
以0.02秒完成
1个测试,1个断言,1个失败,0已跳过

基于我对Javascript的理解,我觉得这应该是可行的。node.js在构造函数和模块导出方面做了哪些不同的事情来阻止它工作?我认为应该这样做

require返回一个对象,您应该将其存储在某个位置

var-Bob=require('./Bob');

然后使用这个对象

var bobInstance=new Bob();

发表评论