【发布时间】:2013-10-07 10:20:12
【问题描述】:
所以我试图通过学习 Mongoose 项目的教程、TDD 风格、为每个步骤应该完成的内容编写测试、然后按照实际教程等来自学 Jasmine(针对节点)。
当然,我的第一次测试失败了。
此时的app.js是两行:
var mongoose = require('mongoose');
console.log(mongoose.version);
这运行良好。然而,我的测试仍然失败:
var app = require('../src/app.js');
describe('App startup', function() {
it('loads mongoose', function() {
expect(app.mongoose.version).toBeDefined();
});
it('loads jasmine-jquery', function() {
expect($).toBeDefined();
});
});
结果
Failures:
1) App startup loads mongoose
Message:
TypeError: Cannot read property 'version' of undefined
Stacktrace:
TypeError: Cannot read property 'version' of undefined
at null.<anonymous> (/home/jbhelfrich/mongooseBlog/spec/init.spec.js:5:36)
(当然,此时 jquery 测试仍会失败。)我已经尝试过使用和不使用“应用程序”。在 expect 子句中,但我得到了同样的错误——测试套件看不到 app.js 的内部结构。但我知道它正在正确加载 app.js 文件,因为它正在运行它——console.log 输出出现在测试结果之前。
所以我怀疑我误解了有关范围的一些基本内容,或者其他一些新手错误,但我不确定那是什么。
【问题讨论】:
标签: javascript node.js jasmine jasmine-node