业力+摩卡+应该v7不工作 - 应该是未定义的

时间:2015-07-23 11:48:25

标签: javascript node.js mocha should.js karma-mocha

我正在尝试配置karma + mocha +应该但是我必须遗漏一些东西,因为在我的测试中应该是未定义的。

根据plugin documentation,要遵循的唯一步骤是:

  

1.-添加应该到框架和业力 - 应该插入你的密钥   业力配置:

module.exports = function(config) {
  config.set({
    frameworks: ['mocha', 'should'],
    plugins: ['karma-should']
  });
};
  

所有断言都可以在测试中使用

这是我的配置:

的package.json

"devDependencies": {
    "karma": "^0.13.3",
    "karma-chrome-launcher": "^0.2.0",
    "karma-firefox-launcher": "^0.1.6",
    "karma-mocha": "^0.2.0",
    "karma-phantomjs-launcher": "^0.2.0",
    "karma-requirejs": "^0.2.2",
    "karma-should": "0.0.1",
    "mocha": "^2.2.5",
    "should": "^7.0.2",
  }

karma.conf.js

config.set({

    // base path that will be used to resolve all patterns (eg. files, exclude)
    basePath: '',


    // frameworks to use
    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
    frameworks: ['mocha', 'should'],

    plugins: ['karma-mocha',
              'karma-should',
              'karma-chrome-launcher',
              'karma-firefox-launcher'],

simpleTest.js

describe('theAnswer()', function() {
  it('should be 42', function() {
    theAnswer().should.be.exactly(42);
  });
});


function theAnswer() {
  return 42;
}

当我跑karma start时,我得到了:

Firefox 39.0.0 (Windows 7 0.0.0) theAnswer() should be 42 FAILED
    theAnswer(...).should is undefined

知道为什么吗?

1 个答案:

答案 0 :(得分:1)

由于应该更改7.x.x:

中的软件包,这似乎是插件实现的问题

这是一个开放的拉取请求: https://github.com/seegno/karma-should/pull/1

当前的插件版本(0.0.1)最多可以使用6.x.x。

编辑:最新的karma-should插件发布(1.0.0)纠正了这个问题。