经过多次黑客攻击,我设法通过 Node.js 运行了一个简单的 Jasmine 测试。
但是,有一些奇怪的东西我不明白...... jasmine 文件导出函数似乎需要对自己的引用传递回工作(这适用于 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
时注意到这一点,基本上是相同的(除了不同的命名)......所以这可能是正常的?!