У меня возникают проблемы с получением простого теста кармы для запуска. Я имею следующую структуру кода:karma не может загружать файлы, вложенные requirejs
js/
|-- tests.js
|-- karma.config.js
|-- app/
|-- controllers.js
|-- tests/
|-- unit/
|-- loginSpec.js
|-- vendor/
|-- jquery.js
Я следующую документацию на http://karma-runner.github.io/0.8/plus/RequireJS.html и моя конфигурация настроить следующим образом (минус несущественных деталей):
// base path, that will be used to resolve files and exclude
basePath = '';
// list of files/patterns to load in the browser
files = [
JASMINE,
JASMINE_ADAPTER,
REQUIRE,
REQUIRE_ADAPTER,
'tests.js',
{pattern: 'tests/unit/*.js', included: false}
];
В моих контроллеров. JS, я определить функцию с именем LoginCtrl
, и я хочу, чтобы проверить эту функцию в loginSpec.js
define(['controllers'],function(controllers) {
describe('Login controllers', function() {
describe('LoginCtrl', function(){
it('should return 1', function() {
var scope = {},
ctrl = new LoginCtrl(scope);
expect(1).toBe(1);
});
});
});
});
Проблема в том, мой браузер не может загрузить файл controllers.js
Eventhough Я настроил конфигурацию requirejs моего основного тестового файла (tests.js
) следующим образом:
var tests = Object.keys(window.__karma__.files).filter(function (file) {
return /Spec\.js$/.test(file);
});
requirejs.config({
baseUrl: '/base/app',
paths: {
jquery: 'vendor/jquery',
},
deps: tests,
callback: window.__karma__.start
});
браузер делает искать файл в http://localhost:9876/base/app/controllers.js
. Разве это не правильный путь?