gpt4 book ai didi

angular - 测试 Angular 服务是否已经初始化

转载 作者:太空狗 更新时间:2023-10-29 17:25:01 25 4
gpt4 key购买 nike

我正在尝试使用 Karma-Jasmine 测试我的 Angular 服务,我需要确保在服务初始化后调用了 loadApp 函数。测试它的最佳方法是什么?

import { Injectable, NgZone } from '@angular/core';

@Injectable()
export class GdlService {
appName = 'myAppName';

constructor(
private ngZone: NgZone,
) {
this.ngZone = ngZone;
this.loadApp(this.appName);
}


private loadApp(appName) {
this.ngZone.runOutsideAngular(() => {
// ...some logic
});
}
}

最佳答案

它可以像任何其他功能一样进行测试。考虑到 loadApp 是原型(prototype)方法,它可以在类原型(prototype)上被 stub 或监视:

it('', () => {
spyOn(<any>GdlService.prototype, 'loadApp');
const gdl = TestBed.get(GdlService);
expect(gdl['loadApp']).toHaveBeenCalledWith('myAppName');
});

关于angular - 测试 Angular 服务是否已经初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48022326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com