yöntemini kullanıyorum. Jasmine'i kullanmaya yeni başladım, lütfen yeni kullanıcı sorusunu affedin, ancak toHaveBeenCalledWith
kullanırken nesne türlerini test etmek mümkün mü?Jasmine'in toHaveBeenCalledWith yöntemi ile
expect(object.method).toHaveBeenCalledWith(instanceof String);
Bunu yapabileceğimi biliyorum ama argüman yerine dönüş değerini kontrol ediyor.
expect(k instanceof namespace.Klass).toBeTruthy();
Andreas, sen '.toBeTruthy()' eklenen bir neden var mı? Bu gereksiz gibi görünüyor. – gwg
@gwg 'bekliyor (foo)' bir maççı olmadan no-op; hat, toBeTruthy() 'çağrısı olmadan hiçbir şey yapmaz. Kanıt için http://jsfiddle.net/2doafezv/2/ adresine bakın. –
Bu güncel değil; nes.method.mostRecentCall'ın Jasmine 2.0'da ['obj.method.calls.mostRecent()'] (http://jasmine.github.io/2.0/introduction.html#section-Other_tracking_properties) olması gerekiyor. Ayrıca, diğer cevapta açıklandığı gibi, jasmine.any() 'kullanarak, daha açık ve cuterdir. Son olarak, bu cevaba ulaşmak için biraz zaman alır; esasen yazdığınız herşeyi beklediğiniz gibi (obj.method.mostRecentCall.args [0] instanceof String) .toBeTruthy(); 'gerçekten kendinizi açıklamak için gerekli değildir. –