тя работи добре с карма-жасмин ..... но не работи с карма-моча ... y ??
module.exports = function(config){
config.set({
basePath : "../app",
preprocessors: {
"**/*.html":"ng-html2js"
},
ngHtml2JsPreprocessor: {
prependPrefix: "/"
},
files : [
"node_modules/jquery/**/*.js",
"lib/angular/angular.js",
"lib/angular/angular-*.js",
"../test/lib/angular-mocks.js",
"../test/lib/sinon-1.15.0.js",
"../test/lib/chai.js",
"js/**/*.js",
"../test/unit/**/*.js",
"**/*.html"
],
autoWatch : true,
frameworks: ["mocha","requirejs","chai"],
browsers : ["Chrome"],
plugins : [
"karma-chrome-launcher",
"karma-mocha",
"karma-ng-html2js-preprocessor",
"karma-requirejs",
"karma-chai"
],
junitReporter : {
outputFile: "test_out/unit.xml",
suite: "unit"
}
});
};
КОДЕКС НА МОЯТА ПРОБА :::
"use strict";
describe("calendarHelper", function() {
beforeEach(module("eventsApp"));
it("should return January when given a zero", inject(function(calendarHelper) {
expect(calendarHelper.getMonthName(0)).toBe("January");
}))
});
Отговори:
0 за отговор № 1Срещнах подобна ситуация само с Жасмин. Бих искал да представя моето решение.
Опитайте това, което е написано в съобщението за грешка. Има връзка към уебсайт: http://requirejs.org/docs/errors.html#notloaded
Използвайте това във вашия спец. Файл:
//If this code is not in a define call,
//DO NOT use require("foo"), but use the async
//callback version:
require(["foo"], function (foo) {
//foo is now loaded.
});
Моят случай, написан за Жасмин и Синон в Кафеикрис, изглежда така:
sinon = require(["sinon", "jasmine-sinon"]) (foo)->
Сега мога да използвам синона като обект в теста за моята единица и също така да следя документацията за синона, както и за жасмин-сион.