多くのハッキングの後、ノードを介して簡単な Jasmine テストを実行することができました。
ただし、理解できない奇妙なことがあります...ジャスミンファイルは、機能するために自分自身への参照を戻す必要があるように見える関数をエクスポートします(これは、ジャスミンとConsoleReporterの両方に当てはまります)。
私はこれがこれを行う正しい方法ではないと確信しています(ただし、最終的にいくつかのテストを実行できたことを嬉しく思います:))ので、誰かがこれを行うためのより良い方法を説明できますか?
(注: node-jasmine のように、理解できないサード パーティのコードを追加することには興味がありません。現在持っているものを理解したいので、これ以上追加しないでください!)
// Include stuff
jasmine = require('../../../Apps/Jasmine/jasmine-standalone-2.0.0/lib/jasmine-2.0.0/jasmine.js');
jasmineConsole = require('../../../Apps/Jasmine/jasmine-standalone-2.0.0/lib/jasmine-2.0.0/console.js')
// WHAT THE? I DON'T EVEN KNOW WHAT THIS MEANS
jasmine = jasmine.core(jasmine);
jasmineConsole.console(jasmineConsole, jasmine)
// Set up the console logger
jasmine.getEnv().addReporter(new jasmine.ConsoleReporter({ print: console.log }));
// Create some global functions to avoid putting jasmine.getEnv() everywhere
describe = jasmine.getEnv().describe;
it = jasmine.getEnv().it;
expect = jasmine.getEnv().expect;
// Dummy tests
describe("A suite", function() {
it("contains spec with an expectation", function() {
expect(true).toBe(true);
});
it("contains spec with a failing expectation", function() {
expect(true).toBe(false);
});
});
// Kick off execution
jasmine.getEnv().execute();
編集:出荷されたbootstrap.js
でこれに気づきました。これは基本的に同じです(名前が異なることを除いて)...おそらくこれは正常ですか?!