У меня есть простой тег привязки с некоторым URL.Цель теста - щелкнуть ссылку, которая должна быть открыта в новой вкладке, а затем сравнить заданный URL-адрес с URL-адресом новой открытой вкладки.
Я пробовал использовать spyOn с оконным объектом.Но у меня ничего не получилось.
Вот что я пробовал.
<a href="https://www.google.com/" target="_blank">google</a>
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { AppComponent } from './app.component';
describe('guideline link', () => {
let comp: AppComponent;
let fixture: ComponentFixture<AppComponent>;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [],
declarations: [AppComponent],
providers: [],
});
fixture = TestBed.createComponent(AppComponent);
comp = fixture.componentInstance;
});
it('link should be opened in separate tab', async () => {
fixture.detectChanges();
spyOn(window, 'open');
const link = fixture.debugElement.nativeElement.querySelector('a');
fixture.whenStable().then(() => {
expect(link).toHaveBeenCalled();
expect(window.open).toHaveBeenCalledWith('https://www.google.com/');
});
});
});