To może być pytanie tylko Ionic 2, ponieważ nie widzę NavParams w dokumentach Angular 2, ale niektóre koncepcje mogą się tłumaczyć, więc otagowałem oba.Jak wyśmiewać NavParams w testach?
Biorąc pod uwagę, że dzwonię pod numer navparams.get('somekey')
w celu odsłuchiwania parametrów, które są przekazywane, trudno jest sfałszować NavParams w testach.
Na przykład, oto jak ja obecnie zrobić:
export class NavParamsMock {
public get(key): any {
return String(key) + 'Output';
}
}
ta działa na bardzo podstawowych testów, ale gdybym miał komponent, że muszę przetestować że gets
specyficzny rodzaj Object
, np a User
.
Następnie można zrobić coś jak
export class NavParamsMock {
public get(key): any {
if (key === 'user') {
return new User({'name':'Bob'})
}
return String(key) + 'Output';
}
}
Ale to nie zadziała, jeśli chcesz korzystać z get(user)
w innym badaniu, czy nawet specyfikację innego składnika. Powiedzmy, że NavParams używasz w 2 różnych komponentach i obaj oczekują innego rezultatu, gdy robisz get(user)
, co jest coraz trudniejsze do udawania.
Czy ktoś znalazł rozwiązanie tego scenariusza?
Otrzymuję "Zwrot własnościParams nie istnieje w typie" NavParamsMock "... Nieważne, że przegapiłeś s po powrocieParams. –
wystąpił błąd. '' returnParam'' – raj