Acabo de empezar a usar Jasmine, por lo tanto, perdone la pregunta de novato, pero ¿es posible probar los tipos de objeto al usar toHaveBeenCalledWith
?Uso de tipos de objetos con el método toHaveBeenCalledWith de Jasmine
expect(object.method).toHaveBeenCalledWith(instanceof String);
Sé que podría esto, pero está comprobando el valor de retorno en lugar del argumento.
expect(k instanceof namespace.Klass).toBeTruthy();
Andreas, ¿hay alguna razón que agregó '.toBeTruthy()'? Parece que eso es innecesario. – gwg
@gwg 'expect (foo)' sin un matcher es un no-op; la línea no haría nada sin la llamada 'toBeTruthy()'. Ver http://jsfiddle.net/2doafezv/2/ como prueba. –
Esto está desactualizado; 'obj.method.mostRecentCall' necesita convertirse en [' obj.method.calls.mostRecent() '] (http://jasmine.github.io/2.0/introduction.html#section-Other_tracking_properties) en Jasmine 2.0. Además, usar 'jasmine.any()', como se describe en la otra respuesta, es más claro y atractivo. Finalmente, esta respuesta toma un tiempo para llegar al punto; esencialmente todo lo que escribiste además de 'expect (obj.method.mostRecentCall.args [0] instanceof String) .toBeTruthy();' no es realmente necesario para explicarte a ti mismo. –