Jasmine kullanarak açısal 2 kod için test vakası yazıyorum. Kullanıcı oturumu kapattıktan sonra giriş sayfasına geri dönmeye çalışıyorum. Sayfa yerini nasıl test edebilirim?Köşeli için Yasemin Test Çantası 2- Diğer sayfaya gitme
6
A
cevap
3
Yapmanız gereken tek şey, yönlendirici gezinme yönteminin doğru argümanla (yani, giriş sayfasının rotası) çağrıldığını test etmektir. Gerçek bir navigasyonu test etmeye çalışmak, bir birim testi için gerekenden daha fazla yan etkiye neden olabilir.
Router.navigate
yönteminin çağrıldığını kontrol etmek için, bir saplama ve casus kullanmanız yeterlidir. Ben yönlendirici kullanılmıyorsa am
@Component({})
class SomeComponent {
constructor(private router: Router) {}
logout() {
this.router.navigate(['/login'])
}
}
let routerStub;
beforeEach(() => {
routerStub = {
navigate: jasmine.createSpy('navigate');
}
TestBed.configureTestModule({
declaration: [ SomeComponent ],
providers: [
{ provide: Router, useValue: routerStub }
]
});
});
it('it should navigate to login after user logs out',() => {
let component = TestBed.createComponent(SomeComponent).componentInstance;
component.logout();
expect(routerStub.navigate).toHaveBeenCalledWith(['/login']);
})
0
Eğik takım açısal çevrenin tüm yerli yönlerini içine test yararlanmak için çok çalıştı. Yerel açısal yönlendiriciyi kullanıyorsanız, kullanmanız için test yaptırmışlardır. Bu BLOG kontrol edin. Açısal yönlendirici kullanmıyorsanız, o zaman kendi başınasınız.
İlgili konular
- 1. Yasemin 2
- 2. Köşeli Yasemin UI yönlendiricisi, değeri
- 3. Köşeli Yasemin testi yanıtı kesicisi
- 4. Köşeli Yasemin SpyOn $ resource Hatalar
- 5. Selenyum webdriver'de Frame'den geçerli sayfaya geri gitme
- 6. Köşeli bir düğme ile başka bir sayfaya gidin 2
- 7. Pytest/Allure - Test çantası açıklaması nasıl oluşturulur?
- 8. Yasemin, Karma ve Köşeli Zincirleme yöntemlerini kullanmaktadır
- 9. Selenium Test Çantası ve Test Suite - genel kullanım
- 10. Köşeli 2 - Yapıcıda diğer bağımsız değişkenlerle karıştırılmış bağımlılık enjeksiyonu
- 11. Köşeli 2: Validators.pattern() çalışmıyor
- 12. Köşeli 2 Sıçrayan Animasyon
- 13. Köşeli 2 yönlendirici.navigate
- 14. Köşeli 2 Bileşen değişkeni sağlandı
- 15. Köşeli 2: Dinamik Görüntüler
- 16. Köşeli Tip 2 nedir?
- 17. Köşeli 2 RC5: Router için sağlayıcı yok
- 18. Yasemin jQuery ile form gönderme işleyicisi Test
- 19. Yasemin ile Eşzamansız Geri Aramaların Test Edilmesi
- 20. Köşeli 2 rota uyumsuzluğu gideceği yere gitmiyor
- 21. yasemin Test başarısız (değerlendirirken $ tarayıcı $$ checkUrlChange().)
- 22. Köşeli 2 Boru - 2 ondalık basamakla sınırı
- 23. Köşeli 2 Radyo Düğmesi ngModel
- 24. Köşeli 2 HTTP İlerleme çubuğu
- 25. Köşeli 2 tembel yükleme teknikleri
- 26. Köşeli 2 Malzeme Dinamik Temalar
- 27. Köşeli 2 çoklu dosya yükleme
- 28. Köşeli 2 yönlendirme düzgün çalışmıyor
- 29. Köşeli 2 - Paylaşılan Hizmeti Kullanmak
- 30. Köşeli 2: 'Abonelik' adı bulunamıyor
. Bunun yerine, NavController kullanarak. Bu konuda herhangi bir öneriniz var mı? – devtiwa
NavController için bir saplama oluşturun ve 'push' yöntemi veya' setRoot' üzerinde casus yapın. hangisini kullanıyorsunuz? –
'let nav = {setRoot: jasmine.createSpy ('setRoot')}' –