परीक्षण मैं आयनिक आवेदन के लिए इकाई परीक्षण को लागू कर रहा हूँ और जाँच करने के लिए है कि कोई घटनाओं $ rootScope पर प्रसारित किया गया है की जरूरत है
expect($rootScope.$broadcast).not.toHaveBeenCalled();
समस्या कभी कभी देखते हैं है $ locationChangeStart और $ locationChangeSuccess ईवेंट प्रसारित किए गए हैं जो मेरे परीक्षण विफल हो जाते हैं। ऐसा लगता है कि आयनिक v1.3.0 नीचे कोड
// update browser
$rootScope.$watch(function $locationWatch() {
var oldUrl = trimEmptyHash($browser.url());
var newUrl = trimEmptyHash($location.absUrl());
var oldState = $browser.state();
var currentReplace = $location.$$replace;
var urlOrStateChanged = oldUrl !== newUrl ||
($location.$$html5 && $sniffer.history && oldState !== $location.$$state);
if (initializing || urlOrStateChanged) {
initializing = false;
$rootScope.$evalAsync(function() {
var newUrl = $location.absUrl();
var defaultPrevented = $rootScope.$broadcast('$locationChangeStart', newUrl, oldUrl,
$location.$$state, oldState).defaultPrevented;
में उन लोगों से चलाता है "आरंभ" झंडा उपरोक्त कोड में सच है और इस से चलाता है $ rootScope। $ प्रसारण। प्रश्न - यह क्यों हो रहा है? और इस स्थिति को संभालने का सबसे अच्छा तरीका क्या है? अभी मैंने $ रूटस्कोप जोड़ा है। $ Digest(); मेरी परीक्षणों में कार्रवाई करने से पहले जो समस्या को ठीक करने हालांकि मुझे यकीन है कि अगर यह मान्य समाधान है
धन्यवाद नहीं कर रहा हूँ लग रहा था