angular - 角度测试错误:预期的间谍 getServicingContent 已被调用
问题描述
这是我的.spec
文件。用于服务内容。我在“SimonTest”插件的帮助下生成了这个文件。我的第一个测试通过了,但第二个测试ngOnInit makes expected calls
失败了。这是我的代码。
// servicing.component.spec.ts
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { ServicingService } from './servicing.service';
import { Router } from '@angular/router';
import { ActivatedRoute } from '@angular/router';
import { StorageService } from 'angular-nexus-uiux/services';
import { BrandingService } from '/branding.service';
import { ServicingComponent } from './servicing.component';
fdescribe('ServicingComponent', () => {
let comp: ServicingComponent;
let fixture: ComponentFixture<ServicingComponent>;
beforeEach(() => {
const servicingServiceStub = {
tagSiteCatalyst: () => ({ }),
getServicingContent: () => ({
subscribe: () => ({
})
})
};
const routerStub = {
events: {
filter: () => ({
subscribe: () => ({})
})
},
url: {
split: () => ({})
}
};
const activatedRouteStub = {
data: {
subscribe: () => ({})
}
};
const storageServiceStub = {
get: () => ({})
};
const brandingServiceStub = {};
TestBed.configureTestingModule({
declarations: [ ServicingComponent ],
schemas: [ NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA ],
providers: [
{ provide: ServicingService, useValue: servicingServiceStub },
{ provide: Router, useValue: routerStub },
{ provide: ActivatedRoute, useValue: activatedRouteStub },
{ provide: StorageService, useValue: storageServiceStub },
{ provide: BrandingService, useValue: brandingServiceStub }
]
});
fixture = TestBed.createComponent(ServicingComponent);
comp = fixture.componentInstance;
});
it('can load instance', () => {
expect(comp).toBeTruthy();
});
describe('ngOnInit', () => {
it('makes expected calls', () => {
const servicingServiceStub: ServicingService = fixture.debugElement.injector.get(ServicingService);
const storageServiceStub: StorageService = fixture.debugElement.injector.get(StorageService);
spyOn(servicingServiceStub, 'tagSiteCatalyst');
spyOn(servicingServiceStub, 'getServicingContent');
spyOn(storageServiceStub, 'get');
comp.ngOnInit();
expect(servicingServiceStub.tagSiteCatalyst).toHaveBeenCalled();
expect(servicingServiceStub.getServicingContent).toHaveBeenCalled();
expect(storageServiceStub.get).toHaveBeenCalled();
});
});
});
我在业力中遇到错误,因为Expected spy getServicingContent to have been called.
我不确定我为什么会得到这个。有人可以帮我解决这个问题。
解决方案
推荐阅读
- python - 无法从 google.py 导入函数
- android-permissions - 什么是 Android 中的严格模式策略违规
- postgresql - Postgres:将列值更新为相同的值是否会将页面标记为脏?
- javascript - React Native:更改后 TabView 不会重新渲染
- powershell - 从命令行“另存为”打开的文件
- sql - Sqlite,使用分组?对于具有日期范围的子查询
- python - Firestore 查询需要很长时间才能仅获取一个字段的值
- php - 如何在 PHP 中创建与此 HTML 表单完全相同的脚本?
- gpu - 如何让 SYCL“default_selector”选择 Intel GPU 而不是 NVIDIA GPU?
- javascript - Javascritp 导出/导入常量对象将导入包装在另一个对象中