मुझे अपने एप्लिकेशन में राउटर का परीक्षण करने में कुछ परेशानी हो रही है, जो कि कोणीय यूआई राउटर पर बनाया गया है। मैं परीक्षण करना चाहता हूं कि क्या राज्य परिवर्तन URL को उचित रूप से बदलते हैं (बाद में अधिक जटिल परीक्षण होंगे, लेकिन यह वह जगह है जहां यह शुरू हो रहा है।)
यहाँ मेरे आवेदन कोड का प्रासंगिक हिस्सा है:
angular.module('scrapbooks')
.config( function($stateProvider){
$stateProvider.state('splash', {
url: "/splash/",
templateUrl: "/app/splash/splash.tpl.html",
controller: "SplashCtrl"
})
})
और परीक्षण कोड:
it("should change to the splash state", function(){
inject(function($state, $rootScope){
$rootScope.$apply(function(){
$state.go("splash");
});
expect($state.current.name).to.equal("splash");
})
})
Stackoverflow (और आधिकारिक ui राउटर टेस्ट कोड) पर इसी तरह के सवाल $ अवस्था को लपेटने का सुझाव देते हैं। $ लागू में कॉल पर्याप्त होना चाहिए। लेकिन मैंने ऐसा किया है और राज्य अभी भी अपडेट नहीं कर रहा है। $ state.current.name रिक्त रहता है।