无法将自定义匹配器添加到jasmine(karma)

时间:2014-10-03 18:53:10

标签: jasmine karma-runner karma-jasmine

Jasmine正在运行并且单元测试已执行但我无法将自己的匹配器添加到jasmine中。

ReferenceError: mymatch is not defined

这是我尝试添加它们的方式:

it('all values are zero', function () {

 jasmine.addMatchers({
        mymatch: function () {
            return {
                compare: function (actual, expected) {
                   return {
                   pass: (actual % 2) === 0
                      };
                   }
               };
           }
        });

expect(mymatch(0, 0));

});

我还尝试将它们添加到beforeEach函数中(两者:在测试套件内部和文件的最开头)

我在这里错过了一些依赖吗?或者是否存在冲突(我在本地安装了节点模块,但也有一些全局安装的包(ubuntu14.04)

来自我的karma.conf.js:

frameworks: ['jasmine'],

来自我的package.json

"dependencies": {
   "karma": "~0.12.24",
   "karma-chrome-launcher": "~0.1.5",
   "karma-jasmine": "~0.2.2",
   "package.json": "~0.0.0"
},
"devDependencies": {
   "karma": "~0.12.24",
   "karma-jasmine": "~0.2.2"
},

1 个答案:

答案 0 :(得分:2)

想出来。我以错误的方式使用了匹配器,

NOT: expect(mymatch(0, 0));

必须像这样使用:

expect(0).mymatch( 0);