Я создал службу Env
, которая обертывает информацию об окружающей среде, и в настоящее время я использую $location.host()
, чтобы определить, в какой среде я нахожусь. Как я издеваться над этим в своих тестах?
Я прочитал https://groups.google.com/forum/?fromgroups#!topic/angular/F0jFWC4G9hI, но это не похоже на работу, например:
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();
});
});
});
Я также попробовал $browser
вариант, но это не работает. Есть идеи?
Я также попытался '$ browser.url()' в соответствии с http://www.thecssninja.com/javascript/angular -location-testing, но это тоже не работает. – zlog
У меня есть аналогичная проблема, мне нужно ввести $ location в мой тест, поскольку это требует сервис. –
https://github.com/angular/angular.js/issues/493 –