编辑
我意识到我的onSubmit函数调用了另一个函数。那就是我所缺少的。因此,我拥有的另一个功能是私有的,并在其中传递了字幕参数。
不确定如何测试吗?
结束编辑
这里是新茉莉花(和测试版)的新手。我究竟做错了什么?如何测试字幕已通过?
我正在尝试学习如何更改“实际通话”。
我收到此错误
Expected spy updateCompany to have been called with:
[ 12345, Object({ email: undefined, name: 'test', subtitle: 'subtitle' }) ]
but actual calls were:
[ 12345, Object({ email: undefined, name: 'test', subtitle: undefined }) ].
运行此测试时:
describe('onSubmit', () => {
const file = new Blob(['']);
const e = { target: { files: [file] } };
let mockReader;
let readerOnloadProperty: any;
let mockResult: any;
beforeEach(() => {
mockReader = jasmine.createSpyObj('FileReader', ['readAsDataURL'], [{ 'result': mockResult, 'onload': readerOnloadProperty }]);
mockReader.result = 'result';
spyOn(window as any, 'FileReader').and.returnValue(mockReader);
component.ngOnInit();
});
describe('updateSubtitle', () => {
let companiesService: CompaniesService;
let updateCompanySpy: jasmine.Spy;
let flash: FlashWrapperService;
let flashDangerSpy: jasmine.Spy;
let flashInfoSpy: jasmine.Spy;
beforeEach(() => {
companiesService = TestBed.inject(CompaniesService);
updateCompanySpy = spyOn(companiesService, 'updateCompany');
flash = TestBed.inject(FlashWrapperService);
flashDangerSpy = spyOn(flash, 'flashDanger');
flashInfoSpy = spyOn(flash, 'flashInfo');
});
it('calls to update the company', async () => {
component.onSubmit(e);
await fixture.whenStable();
expect(updateCompanySpy).toHaveBeenCalledWith(12345, {
email: undefined,
name: 'test',
subtitle: 'subtitle'
});
});