我正在针对我的Angular组件编写业力单元测试。我遇到了一种情况,我不知道如何进行。我在Google上搜索并没有发现...。
在另一个文件中,我定义了一个全局导出的函数:
export function findServices(
serviceType: OptionValue | undefined,
procedureCode: ProcedureCode | undefined,
state: ServiceProcedureAuthorizationState
): ServiceProcedureAuthorizationService[] {
}
可以说它使用商店中的状态来返回此查询的答案。我不想为我的单元测试设置所有这些。我想以某种方式嘲笑它。
这是我的角度组件中的调用。
private setAuthState(group: SpServiceGroup, authorizationState: ServiceProcedureAuthorizationState) {
const services: ServiceProcedureAuthorizationService[] = findServices(
group.serviceType,
group.procedureCode,
authorizationState
);
我该如何嘲笑?
有人指出尝试使用Global variables in Karma test runner,所以我尝试在测试文件中创建一个函数:
export function findServices(
serviceType: OptionValue | undefined,
procedureCode: ProcedureCode | undefined,
state: ServiceProcedureAuthorizationState
): ServiceProcedureAuthorizationService[] {
console.log('returning services');
return services;
}
但是它将继续从生产文件运行该文件。所以这不是解决方案。