そのため、Mongoose プロジェクトのチュートリアル、TDD スタイル、各ステップが達成するはずのテストを作成し、実際のチュートリアルに従うなどして、Jasmine (ノード用) を独学しようとしています。
もちろん、私の最初のテストは失敗しています。
この時点での app.js は次の 2 行です。
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 テストは、この時点でまだ失敗することが予想されます。) 「アプリ」を使用して、または使用せずに試してみました。期待句で、しかし同じエラーが発生します-テストスイートはapp.jsの内部を認識しません。しかし、app.js ファイルが正しく読み込まれていることはわかっています。これは、実行されているためです。console.log の出力は、テスト結果の前に表示されます。
したがって、スコープに関する基本的なこと、またはその他の初歩的な間違いを誤解していると思われますが、それが何であるかはわかりません。