【发布时间】:2016-11-14 13:01:15
【问题描述】:
我使用 Jasmine-Node 来测试 Javascript 代码。
如何导出两个不同的函数对象,如 Confusions1 和 Confusions2,以便它们都可以在 Jasmine-Node 测试文件中使用?
我的尝试如下所示:
// confusions.js
var Confusions1 = function() {};
Confusions1.prototype.foo = function(num) {
// keep track of how many times `foo` is called
this.count++;
}
module.exports = Confusions1;
// second function object
var Confusions2 = function() {};
Confusions2.prototype.foo = function() {
var a = 2;
this.bar();
};
Confusions2.prototype.bar = function() {
return this.a;
}
module.exports = Confusions2;
还有我的 Jasmine 测试文件:
// confusions.spec.js
var Confusion = require('./confusions.js');
describe("chapter 1, common misconception ", function() {
describe("to assume `this` refers to the function itself: ", function() {
var confusion = new Confusion();
// some test code omitted
});
describe("to assume `this` refers to the function's scope", function() {
var confusion = new Confusion();
// test code omitted
});
});
我希望 confusions.js 中的 Confusions1 和 Confusions2 都可以在 confusions.spec.js 内的两个嵌套描述块中使用
我假设在需要文件var Confusion = require('./confusions.js'); 之后我必须以某种方式初始化不同的对象
var confusion1 = new Confusions1(); var confusion2 = new Confusions2(); 之类的东西,但究竟如何(不将两个对象拆分到两个单独的文件中)?
【问题讨论】:
标签: javascript unit-testing jasmine-node