Quando collaudo i miei getters sono setter per Typescript, non riesco a trovare un modo per spiare quei getter e setter. Invece, l'oggetto viene immediatamente valutato. Sto usando Jasmine al test unitario.Come posso spiare i getter e setter di Typescript?
8
A
risposta
3
Non è ancora supportato, ma esiste un problema con Jasmine per supporting getters.
Se si ha realmente bisogno il sostegno ora, è possibile estendere SpyRegistry.js di file e aggiungere il codice che apsillers proposto:
this.spyOnProperty = function(obj, methodName, accessType) {
...
var desc = Object.getPropertyDescriptor(obj, methodName);
if(desc[accessType]) { // "get" or "set" exists on the property
var spy = j$.createSpy(methodName, desc[accessType]);
desc[accessType] = spy;
Object.defineProperty(obj, methodName, desc);
}
}
2
Non riesco a trovare un modo per spiare quei getter e setter. Invece, l'oggetto viene immediatamente valutato.
Questo non è supportato da Jasmine. Le opzioni principali sono il refactoring nelle chiamate di funzione OPPURE estendere il gelsomino
6
spyOnProperty
è ora disponibile in Jasmine:
const foop = {
get value() {},
set value(v) {}
};
it('can spy on getter',() => {
spyOnProperty(foop, 'value', 'get').and.returnValue(1);
expect(foop.value).toBe(1);
});
it('and on setters',() => {
const spiez = spyOnProperty(foop, 'value', 'set');
foop.value = true;
expect(spiez).toHaveBeenCalled();
});
0
ho trovato la soluzione qui utile. Invece di spiare il getter, basta ignorarlo per modificare il ritorno per i test.
Problemi correlati
- 1. getter/setter su un modulo in TypeScript
- 2. Documentazione getter e setter
- 3. getter e setter stile
- 4. ignorando i getter/setter ereditari
- 5. DDD e uso di getter e setter
- 6. Getter e Setter cross-browser
- 7. Python: getter e setter generici
- 8. getter e setter in javascript
- 9. È possibile utilizzare getter/setter nelle interfacce TypeScript?
- 10. Ignora i setter e i getter di un modello mongolo
- 11. Setter e getter in C++
- 12. Come utilizzare Enums in getter e setter?
- 13. Come utilizzare getter e setter in Javascript
- 14. Eclipse getter/formato setter
- 15. Objectetter-C getter/setter
- 16. Lambda per getter e setter di proprietà
- 17. OOP: metodi getter/setter
- 18. Proprietà Haxe - getter e setter contro @: isVar
- 19. Symfony2 genera getter/setter
- 20. Eclipse genera getter e setter non incapsulati
- 21. IntelliJ getter/setter formato
- 22. Getter e setter in pura C?
- 23. Spiegami cosa è un setter e getter
- 24. Creare proprietà utilizzando lambda getter e setter
- 25. Getter e setter Scala in classe Java
- 26. Rinomina getter e setter in Eclipse. Scorciatoia?
- 27. Codice ridondante nei getter e setter
- 28. booleano getter e setter usando eclissi
- 29. Mockito: come bloccare il setter getter
- 30. Firma dell'interfaccia TypeScript per proprietà senza setter.
duplicati di https://stackoverflow.com/questions/20879990 –