我正在努力让茉莉花和它的 ConsoleReporter 在使用 require.js 的主干应用程序中工作。我已经看到了带有 Jasmine 的 Check Backbone/requireJs 项目,但是它对库进行了硬编码(这是我宁愿避免的)。
在我的主干应用程序中,我创建了测试函数(我更愿意将其保留在那里以测试模型之间的交互):
test = function () {
require(['js/test/run'], function () {});
}
和run.js(我得到console.log“应该”很好,但与失败的测试没有任何关系):
define(["jasmine", "jasmineConsoleReporter"],
function (jasmine, ConsoleReporter) {
describe('hello', function () {
it('should be true', function () {
console.log('should');
expect(true).toEqual(true);
});
});
jasmine.getEnv().addReporter(new ConsoleReporter(console.log));
jasmine.getEnv().execute();
//return tests;
}
);
jasmine 和 jasmineConsoleReporter 的 shim 是:
jasmine: {
exports: "jasmine"
},
jasmineConsoleReporter: {
deps: ['jasmine'],
exports: "getJasmineRequireObj"
}
jasmineConsoleReporter 的源代码可以在https://github.com/pivotal/jasmine/blob/master/src/console/console.js找到
我猜控制台报告器的构造不正确,因为我在控制台中得到了“应该”,没有别的。