1

Я пытаюсь получить карму ajax.jsКарма - Жасмин: Ошибка: поставщик для рамок: жасмин-Аякса

https://github.com/IDCubed/karma-jasmine-ajax

Моя карма конфиге Jamine имеет:

module.exports = function(config) { 
    config.set({ 
    ... 
    frameworks: ['jasmine-ajax', 'jasmine'], 
    }); 
}; 

Мой пакет .json имеет:

"devDependencies": { 
    "bower": "^1.4.1", 
    "del": "^1.1.1", 
    "gulp": "^3.8.11", 
    "gulp-concat": "^2.5.2", 
    "gulp-karma": "0.0.4", 
    "jasmine-ajax": "^3.1.0", 
    "jasmine-core": "^2.2.0", 
    "karma": "0.12.31", 
    "karma-chrome-launcher": "0.1.7", 
    "karma-cli": "0.0.4", 
    "karma-jasmine": "0.3.5", 
    "karma-jasmine-ajax": "^0.1.12", 
    "karma-junit-reporter": "^0.2.2", 
    "yargs": "^3.7.1" 
    } 

и мои спецификации такие же:

describe("mocking ajax", function() { 
    describe("suite wide usage", function() { 

     beforeEach(function() { 
     jasmine.Ajax.install(); 
     }); 

     afterEach(function() { 
     jasmine.Ajax.uninstall(); 
     }); 

     it('does something', function() { 

     }); 
    }); 
    }); 

Но у меня есть эта ошибка:

/node_modules/karma/node_modules/di/lib/injector.js:9 
     throw error('No provider for "' + name + '"!'); 
      ^
Error: No provider for "framework:jasmine-ajax"! (Resolving: framework:jasmine-ajax) 

Я явно не хватает какой плагин или что-то ... но что?

ответ

0

Просто провел 4 часа, имея дело с одной и той же проблемой. Здесь есть несколько вещей, суть которых заключается в том, что существуют конкретные конфликты версий и требования для «жасмина», «жасмин-аякс» и «карма-жасмин-аякс».

Я использую Жасмин 1,3, а текущая версия karma-jasmine-ajax зависит от версии jasmine-ajax, который incompatabile с Жасмин 1.3.x.

Это отмечено в документации jasmine-ajax, но не karma-jasmine-ajax документация: «Эта отрасль в настоящее время версии 2.0, если вам нужно жасмин-Аякса для Жасмин 1.3.x, пожалуйста, захватить последний релиз от этого тега»

Для того, чтобы исправить этот конкретный конфликт, я указал "karma-jasmine-ajax": "0.1.3", в моем package.json и удалил свою зависимость от жасмин-Аякса (что карма-жасмин-Аякс будет включать в себя).

И, наконец, документация для jasmine-ajax также неверна для некоторых версий jasmine-ajax: некоторые используют request.RespondWith, а другие используют request.response. Мне нужна конкретная комбинация версий request.response.

Надеюсь, это поможет.

Смежные вопросы