我的源文件中有这个函数:
I have this function in my source file:
function gimmeANumber(){
var x = 4;
return x;
}
以及从本教程
describe('Hello world', function() {
beforeEach(function() {
this.addMatchers({
toBeDivisibleByTwo: function() {
return (this.actual % 2) === 0;
}
});
});
it('is divisible by 2', function() {
expect(gimmeANumber()).toBeDivisibleByTwo();
});
});
这是错误:
TypeError: undefined is not a function在对象.(file:///home/n/foo/jasmine/jasmine-2.0.0/dist/spec/HelloWorldSpec.js...)谢谢.
TypeError: undefined is not a function at Object. (file:///home/n/foo/jasmine/jasmine-2.0.0/dist/spec/HelloWorldSpec.js...) Thank you.
从 1.3 开始,添加自定义匹配器的 API 发生了变化.您可以在此处查看更改.
The API for adding custom matchers has changed since 1.3. You can see the changes here.
这里是它现在的工作方式:
function gimmeANumber() {
var x = 4;
return x;
}
describe('Hello world', function () {
beforeEach(function () {
jasmine.addMatchers({
toBeDivisibleByTwo: function () {
return {
compare: function (actual, expected) {
return {
pass: (actual % 2) === 0
};
}
};
}
});
});
it('is divisible by 2', function () {
expect(gimmeANumber()).toBeDivisibleByTwo();
expect(5).not.toBeDivisibleByTwo();
});
});
这篇关于使用自定义匹配器的 jasmine 2.0 测试失败:未定义不是函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
在 javascript 认为文档“准备好"之前,如何让How can I get my jasmine tests fixtures to load before the javascript considers the document to be quot;readyquot;?(在 javascript 认为文档“准备好
jasmine 运行和等待实际上是做什么的?What do jasmine runs and waitsFor actually do?(jasmine 运行和等待实际上是做什么的?)
如何提供模拟文件来更改 <input type='filHow to provide mock files to change event of lt;input type=#39;file#39;gt; for unit testing(如何提供模拟文件来更改 lt;input type=filegt; 的事
如何使用 Jasmine 对链式方法进行单元测试How to unit test a chained method using Jasmine(如何使用 Jasmine 对链式方法进行单元测试)
如何将 $rootScope 注入 AngularJS 单元测试?How do I inject $rootScope into an AngularJS unit test?(如何将 $rootScope 注入 AngularJS 单元测试?)
Jasmine - 如何监视函数中的函数调用?Jasmine - How to spy on a function call within a function?(Jasmine - 如何监视函数中的函数调用?)