2

我正在努力让茉莉花和它的 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找到

我猜控制台报告器的构造不正确,因为我在控制台中得到了“应该”,没有别的。

4

1 回答 1

0

试试我的设置:

https://github.com/wojciechszela/jasmine-requirejs-jscover

向它(或任何其他库)添加主干应该很容易。

于 2014-01-29T23:35:20.067 回答