【发布时间】:2023-03-06 12:35:01
【问题描述】:
我已经在我的 app.module.ts 文件中导入了 APP_INITIALIZER 并调用了一个初始化函数。
如何使用 jasmine/karma 为这个初始化方法编写单元测试用例?
代码:
initializer.ts
import { CookieService } from 'ngx-cookie-service';
import { KeycloakOptions, KeycloakConfig } from 'keycloak-angular';
import { EnlivenKeycloakAuthService } from './services/enliven-keycloak-auth.service';
export function initializer(keycloakService: EnlivenKeycloakAuthService, cookieService: CookieService): () => Promise<any> {
cookieService.set('test','test');
const config: KeycloakConfig = {
url: serverUrl,
realm: realmName,
clientId: clientId,
credentials: {
secret: secret
}
};
const options: KeycloakOptions = {
config: config,
initOptions: {
onLoad: 'login-required',
checkLoginIframe: false
},
enableBearerInterceptor: true,
bearerExcludedUrls: ['/assets']
};
keycloakService.setIsClientSecretKeyFetech(true);
return (): Promise<any> => keycloakService.init(options);
}
app.module.ts
{
provide: APP_INITIALIZER,
useFactory: initializer,
deps: [ EnlivenKeycloakAuthService, CookieService],
multi: true
},
【问题讨论】:
标签: unit-testing jasmine angular6 karma-jasmine keycloak