我正在使用Angular2 / TypeScript项目并使用jasmine进行单元测试。
如何使用jasmine测试使用常量调用的函数。 例如。 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
}
}
除了将常量as参数传递给toHaveBeenCalledWith方法之外,还有其他方法可以测试吗?
答案 0 :(得分:0)
将RADIUS导入您的spec文件,然后
expect( logo.drawCircle ).toHaveBeenCalledWith( RADIUS, RADIUS, RADIUS );
答案 1 :(得分:0)
你需要先使用间谍
spyOn('logo','drawCircle');
logo.drawLogo();
expect( logo.drawCircle ).toHaveBeenCalledWith( 10, 10, 10 );