我正在开发Angular2/TypeScript项目并使用jasmine进行单元测试。如何使用jasmine.js测试用常量调用的函数。例如。Logo.tsexportconstRADIUS:number=10;exportclassLogo{...protecteddrawCircle(x:number,y:number,r:number){...}protecteddrawLogo(){this.drawCircle(RADIUS,RADIUS,RADIUS);}...}Logo.spec.tsdescribe('drawLogo',function(){beforeEach(()
我有一些代码以数组作为单个参数调用回调函数。调用回调后,代码更改数组内容。它类似于这段代码:functionmyCode(callback){varsomeArray=[1,2,3,4];callback(someArray);//changesomeArrayinarbitrarywayssomeArray.splice(2);...}现在,我想验证是否使用正确的数组内容调用回调。使用Jasmine.js我会这样写我的规范:describe("Mycode",function(){varcallback;beforeEach(function(){callback=jasmine.c
我正在处理的单页应用程序有一个包含两种表单的登录View:登录表单和注册表单。以下规范描述了这些表单的测试。我正在使用Jasmine-jQuery1.4.2.//user_spec.jsdescribe("User",function(){varuserController;beforeEach(function(){loadFixtures('menu.html');userController=newMyApp.User.Controller();});describe("LoginView",function(){beforeEach(function(){//Mockthe$.
我想测试在我的测试中是否调用了特定函数并使用了正确的参数。从JEST文档中我无法弄清楚什么是正确的方法。假设我有这样的东西://add.jsfunctionchild(ch){constt=ch+1;//noreturnvaluehere.Functionhassomeother"sideeffect"}functionmain(a){if(a==2){child(a+2);}returna+1;}exports.main=main;exports.child=child;现在在单元测试中:1.我想运行main(1)并测试它是否返回了2并且未调用child()。2。然后我想运行main
有了Jasmine,我可以监视方法并找出参数。我希望能够调用toHaveBeenCalledWith(something,anything)。假设我想监视方法.on(event,callback)。我只关心event是否被监听,而不是实际的回调标识是什么。是否可以在不编写自定义匹配器的情况下执行此操作?我没有看到一个。 最佳答案 尝试toHaveBeenCalledWith(jasmine.any(Object),jasmine.any(Function)) 关于javascript-J