방금 Jasmine을 사용하기 시작했습니다. 초보자 질문을 용서하십시오. 그러나 toHaveBeenCalledWith
을 사용할 때 객체 유형을 테스트 할 수 있습니까?Jasmine의 toHaveBeenCalledWith 메소드와 함께 객체 유형 사용하기
expect(object.method).toHaveBeenCalledWith(instanceof String);
나는 이것을 알 수 있지만 인수가 아닌 반환 값을 확인하고 있습니다.
expect(k instanceof namespace.Klass).toBeTruthy();
안드레아스, 당신은'.toBeTruthy()'추가 된 이유가 무엇입니까? 그것은 불필요한 것 같습니다. – gwg
정규식없이 @gwg'expect (foo)'는 아무 작업도하지 않습니다. 행은'toBeTruthy()'호출 없이는 아무것도하지 않을 것입니다. 증명을 위해서는 http://jsfiddle.net/2doafezv/2/를 참조하십시오. –
이것은 오래되었습니다. 'obj.method.mostRecentCall'은 Jasmine 2.0에서 [obj.method.calls.mostRecent()'] (http://jasmine.github.io/2.0/introduction.html#section-Other_tracking_properties)가되어야합니다. 또한,'jasmine.any()'를 사용하여, 다른 대답에서 설명한 것처럼, 더 명확하고 더 귀엽다. 마지막으로,이 대답은 그 지점에 도달하는 데 시간이 걸립니다. 본질적으로 당신이'expect (obj.method.mostRecentCall.args [0] instanceof String) .toBeTruthy(); '와 같이 쓴 것은 실제로 자신을 설명 할 필요가 없습니다. –