karma jasmine - Unit testing destroy method on directive/service in angular js -


i have few directives , services registered watchers. make sure watchers removed when destroy method called. there anyway of making sure case?

first, believe should create spy on destroy method, make sure called.

spyon(yourservice, 'destroy').and.callthrough(); expect(yourservice.destroy).tohavebeencalled(); 

so makes sure destroy function has been called, watchers part, can use code described in stackoverflow answer (https://stackoverflow.com/a/18526757/2483389) or in blog entry (https://medium.com/@kentcdodds/counting-angularjs-watchers-11c5134dc2ef).

these provide methods count current number of watchers using. should expect 0 after destroy method called.


Comments