¿es posible utilizar el método spyon del framework de pruebas unitarias de Jasmine en un método privado de clases?usando Jasmines spyon con un método privado
La documentación ofrece este ejemplo, pero ¿se puede flexibilizar para una función privada?
describe("Person", function() {
it("calls the sayHello() function", function() {
var fakePerson = new Person();
spyOn(fakePerson, "sayHello");
fakePerson.helloSomeone("world");
expect(fakePerson.sayHello).toHaveBeenCalled();
});
});
Gracias de antemano
No es correcto decir 'no es una buena idea espiar objetos que quieres probar'. El uso de espías no se limita a verificar si no se llamó simplemente a una función y eso es todo. Puede usar espías para verificar valores devueltos, para reemplazar funciones completamente para casos de prueba, errores de lanzamiento, etc. Sugeriría leer la documentación de jazmín para una comprensión más completa. –
no es una buena idea espiar! ?? ¡No puedes estar más equivocado! De acuerdo, estoy de acuerdo con Tim y deberías ver al doco, ¿quién votó esto? –
Eso no es lo que dije. Está bien usar espías. Pero debes manejar el objeto que quieres probar como una caja negra. Solo prueba lo que entra y sale. No pruebe las partes internas de la caja negra, lo que haría si espíe los métodos del objeto bajo prueba. Así que espiar las devoluciones de llamada que pasas al objeto está totalmente bien. –