Comment obtenir de Jasmine spyOnProperty de travail?
J'ai vu ce post post et a été excité à l'essayer, mais je ne suis pas en mesure de le faire fonctionner. En essayant de garder cette simple il suffit de comprendre ce qui est faux, mais même cela est un échec.
export class SomeService {
...
private _myValue: Boolean = false;
get myValue(): Boolean {
return this._myValue;
}
set myValue(helper: Boolean) {
this._myValue = helper;
}
Et dans mon unité de test, j'ai:
it('should ', inject([SomeService], (someService: SomeService) => {
let oldValue = someService.myValue;
expect(oldValue).toBe(false); //passes, clearly we can use our getter
someService.myValue = true;
expect(someService.myValue).toBe(true); //passed, clearly the setter worked
spyOnProperty(someService, 'myValue', 'getter').and.returnValue(false); //Property myValue does not have access type getter
//spyOnProperty(someService, 'myValue', 'get').and.returnValue(false);same error if tried this way
expect(someService.myValue).toBe(false);
}));
J'ai mis les valeurs jusqu'en haut pour montrer clairement que je peux obtenir et définir la valeur. Qui n'a pas de problèmes. Wallaby montre ReferenceError: spyOnProperty n'est pas défini sur le spyOnProperty ligne. Je ne suis pas sûr si cela aide, mais les erreurs que j'ai mis ci-dessus sont ce que le karma me donne quand je exécuter ces tests.
Toute personne qui a obtenu ce travail, je serais grandement apprécier l'assistance. Excuses pour les fautes de frappe, j'ai été regarder ce qui pour la plupart de la journée.
OriginalL'auteur Angelo | 2017-05-12
Vous devez vous connecter pour publier un commentaire.
Bien j'ai passé de façon plus de temps puis-je à l'admettre, mais la réponse a fini par être une simple erreur de syntaxe. Vous souhaitez utiliser get, pas de lecture. Donc:
Qui j'ai fait essayer dès le début, mais n'a pas fonctionné à l'époque. Je ne suis pas sûr de ce qui a changé. J'ai aussi mis à jour @types/jasmin, avec tout le reste dans mon dev bibliothèque de @plus tard, mais je n'ai pas le redémarrage de l'IDE par la suite parce que je ne pense pas qu'il avait affaire. Je peux seulement deviner, c'est pourquoi il travaille maintenant.
Il a travaillé pour moi ! Merci!
OriginalL'auteur Angelo
J'étais encore un peu en difficulté pour obtenir le
set
de travail.OriginalL'auteur Laoujin