Katakanlah saya memata-matai metode seperti ini:
spyOn(util, "foo").andReturn(true);
Fungsi yang diuji memanggil util.foo
beberapa kali.
Mungkinkah mata-mata itu kembali true
pertama kali dipanggil, tetapi kembali false
untuk kedua kalinya? Atau apakah ada cara lain untuk melakukannya?
javascript
unit-testing
jasmine
mikhail
sumber
sumber
.returnValues
- kedua fungsi tersebut jelas berbeda, tetapi meneruskan beberapa argumen untuk.returnValue
tidak menimbulkan kesalahan. Saya tidak ingin mengakui berapa banyak waktu yang saya buang karena satu karakter itu.Untuk versi Jasmine yang lebih lama, Anda dapat menggunakan
spy.andCallFake
untuk Jasmine 1.3 atauspy.and.callFake
untuk Jasmine 2.0, dan Anda harus melacak status 'dipanggil', baik melalui penutupan sederhana, atau properti objek, dll.sumber