首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Karma - Jasmine:错误:没有框架的提供者:jasmine-ajax

Karma - Jasmine:错误:没有框架的提供者:jasmine-ajax
EN

Stack Overflow用户
提问于 2015-04-16 19:22:04
回答 2查看 2.6K关注 0票数 2

我在试着让卡玛去杰明的ajax.js

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

我的业力配置有:

代码语言:javascript
复制
module.exports = function(config) {
  config.set({
    ...
    frameworks: ['jasmine-ajax', 'jasmine'],
  });
};

我的package.json有:

代码语言:javascript
复制
  "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"
  }

我的规范是这样的:

代码语言:javascript
复制
  describe("mocking ajax", function() {
    describe("suite wide usage", function() {

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

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

      it('does something', function() {

      });
    });
  });

但是我有这个错误:

代码语言:javascript
复制
/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)

我显然遗漏了一些插件或者别的什么..。但是什么呢?

EN

回答 2

Stack Overflow用户

发布于 2015-04-29 04:39:27

刚刚花了4个小时来处理同样的问题。这里有几个地方出了问题,核心是:'jasmine‘、'jasmine-ajax’和'karma-jasmine-ajax‘存在特定的版本冲突和需求。

我使用的是Jasmin1.3,karma-jasmine-ajax的当前版本依赖于与Jasmine 1.3.x不兼容的jasmine-ajax 版本。

这在jasmine-ajax文档中有说明,但在karma-jasmine-ajax文档中没有提到:“此分支现在是2.0版本,如果您需要jasmine-ajax for Jasmine 1.3.x,请从该标记获取最新版本。”

为了解决这个特定的冲突,我在package.json中指定了"karma-jasmine-ajax": "0.1.3",,并删除了对jasmine-ajax的依赖( karma-jasmine-ajax将包含它自己)。

最后,对于某些版本的jasmine-ajax,jasmine-ajax的文档也是不正确的:一些版本使用request.RespondWith,另一些版本使用request.response。我的特定版本组合需要request.response

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2018-10-17 02:41:44

我使用的是Karma 3.0.0,如果框架没有像下面这样配置为插件,它会返回这个错误。我已经创建了一个pull request来更新文档。

代码语言:javascript
复制
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine-ajax', 'jasmine'],
    plugins: ['karma-jasmine', 'karma-jasmine-ajax']
  });
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29673199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档