Utworzyłem usługę Env
, która zawiera informacje o środowisku i obecnie używam $location.host()
, aby określić, w jakim środowisku się znajduję. Jak mam to udowodnić w moich testach?
Czytałem https://groups.google.com/forum/?fromgroups#!topic/angular/F0jFWC4G9hI, ale nie wydaje się do pracy, na przykład:
describe("Env (environment) service", function() {
var Env;
beforeEach(module('App'));
beforeEach(inject(
['Env', function(e) {
Env = e;
}]
));
describe("for staging", function() {
beforeEach(inject(function($location, $rootScope) {
$location.host("http://staging-site.com");
$rootScope.$apply();
}));
it("returns envrionment as staging", function() {
expect(Env.environment).toEqual("staging");
});
it("returns .isStaging() as true", function() {
expect(Env.isStaging()).toBeTruthy();
});
});
});
Próbowałem również wariant $browser
, ale to nie działa. Jakieś pomysły?
Próbowałem zostały również '$ browser.url()' zgodnie http://www.thecssninja.com/javascript/angular -location-testing, ale to też nie działa. – zlog
Mam podobny problem, muszę wprowadzić $ location do mojego testu, ponieważ usługa tego wymaga. –
https://github.com/angular/angular.js/issues/493 –