我想測驗這個標頭組件,但我不知道該怎么做,我正在使用 Angular,只想測驗一個路由器功能
這是html
<header >
<nav >
<a (click)="routerTo('/home')">CIUDADELA </a> |
<a (click)="routerTo('/request')">Solicitudes</a> |
<a (click)="routerTo('/materials')">Materiales</a> |
</nav>
</header>
這是 header.component.ts
import { Router } from '@angular/router';
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.css']
})
export class HeaderComponent{
constructor(
private router: Router
) { }
routerTo(link : string): void {
this.router.navigate([link]);
}
}
這就是我需要測驗的覆寫率

uj5u.com熱心網友回復:
我會寫一個這樣的測驗來覆寫對路由器的呼叫:
it('navbar-home item should call router.navigate',() => {
const router= TestBed.inject(Router)
spyOn(router, 'navigate')
const firstLink = fixture.debugElement.query(By.css('.navbar-home')).children[0]
firstLink .triggerEventHandler('click', '/home');
fixture.detectChanges()
expect(router.navigate).toHaveBeenCalledWith(['/home']);
});
同樣的方式你不能檢查對你的組件功能的呼叫。
您需要在測驗設定中提供路由器
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/417400.html
標籤:
上一篇:按姓氏字母排序
