我正在使用Angular2/TypeScript項目並使用jasmine進行單元測試。你如何測試一個函數,使用jasmine + TypeScript調用常量
如何測試一個使用茉莉花常量調用的函數。例如, Logo.ts
export const RADIUS: number = 10;
export class Logo {
...
protected drawCircle(x: number, y: number, r: number){...}
protected drawLogo(){
this.drawCircle(RADIUS, RADIUS, RADIUS);
}
...
}
Logo.spec.ts
describe('drawLogo', function() {
beforeEach(() => {
spyOn(logo, 'drawCircle');
}
it('should call drawCircle method with parameters'){
expect(logo.drawCircle).toHaveBeenCalledWith(10, 10, 10); //This fails
}
}
是否有任何其他方式比傳遞常量作爲參數傳遞給toHaveBeenCalledWith方法來測試其他?
你可以用'logo.drawCircle.calls.mostRecent()。args'爲更靈活一點。 – Ioan
你永遠不會在你的測試中調用drawLogo()。那該如何工作? – iberbeu