Bu şematik, testlerdeki RouterTestingModule kullanımlarını RouterModule'e geçirir.
Bir test @angular/common/testing'den SpyLocation'ı içe aktarıyorsa ve urlChanges özelliğini kullanıyorsa, şematik orijinal davranışı korumak için provideLocationMocks() da ekleyecektir.
Şematiği şu komutla çalıştırın:
ng generate @angular/core:router-testing-module-migration
Seçenekler
| Seçenek | Ayrıntılar |
|---|---|
path |
Geçirilecek yol (proje köküne göreceli). Varsayılan değer ./'dir. Projenizin bir alt kümesini aşamalı olarak geçirmek için bunu kullanın. |
Örnekler
Router seçeneklerini koruma
Önce:
import {RouterTestingModule} from '@angular/router/testing';
import {SpyLocation} from '@angular/common/testing';
describe('test', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [RouterTestingModule.withRoutes(routes, {initialNavigation: 'enabledBlocking'})],
});
});
});
Sonra:
import {RouterModule} from '@angular/router';
import {SpyLocation} from '@angular/common/testing';
describe('test', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [RouterModule.forRoot(routes, {initialNavigation: 'enabledBlocking'})],
});
});
});
SpyLocation import edildiğinde ve urlChanges kullanıldığında provideLocationMocks ekleme
Önce:
import {RouterTestingModule} from '@angular/router/testing';
import {SpyLocation} from '@angular/common/testing';
describe('test', () => {
let spy: SpyLocation;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [RouterTestingModule],
});
spy = TestBed.inject(SpyLocation);
});
it('Awesome test', () => {
expect(spy.urlChanges).toBeDefined();
});
});
Sonra:
import {RouterModule} from '@angular/router';
import {provideLocationMocks} from '@angular/common/testing';
import {SpyLocation} from '@angular/common/testing';
describe('test', () => {
let spy: SpyLocation;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [RouterModule],
providers: [provideLocationMocks()],
});
spy = TestBed.inject(SpyLocation);
});
it('Awesome test', () => {
expect(spy.urlChanges).toBeDefined();
});
});