angularjs - How can I mock a service that gets immediately invoked when the controller loads? -
angularjs - How can I mock a service that gets immediately invoked when the controller loads? -
i have controller grabs info service when loads.
angular.module('app').controller("mycontroller", function (myservice) { var projectid = myservice.project.id; });
this info gets set previous action in application. when karma/jasmine loads controller in fresh state service doesn't have data. i've tried mocking service in beforeeach block haven't had luck.
beforeeach(function () { var myservice = { project: { id: 'thadsfkasj' } } });
what missing?
you can mock service using angular.value
. should allow inject myservice
controller.
angular.module('myservicemock', []) .value('myservice', { project: { id: 'thadsfkasj' } }); beforeeach(module( 'myservicemock' //other modules or mocks include... ));
angularjs jasmine karma-jasmine
Comments
Post a Comment