2016-11-04 9 views
2

Я пытаюсь высмеять запросы в своем приложении, но есть проблема с переменной процесса. Я храню в process.env.backendUrl url для backend API. А потом в RestService у меня есть:Угловое тестирование 2 - process.env

constructor(private http: Http) { 
    this.rest = process.env.backendUrl + "/api/"; 
} 

И теперь это невозможно запустить тесты, потому что, например, в LoginComponent У меня есть RestService зависимость, и я получил эту ошибку:

zone.js:140 Uncaught Error: Error in ./LoginComponent class LoginComponent_Host - inline template:0:0 caused by: process is not defined 
ReferenceError: process is not defined 
at new RestService (http://localhost:9876/base/src/test.ts:21595:2790) 
at DynamicTestModuleInjector.get (DynamicTestModule.ngfactory.js:170:67) 
at DynamicTestModuleInjector.get (DynamicTestModule.ngfactory.js:180:93) 
at DynamicTestModuleInjector.getInternal (DynamicTestModule.ngfactory.js:255:51) 
at DynamicTestModuleInjector.NgModuleInjector.get (http://localhost:9876/base/src/test.ts:25036:27) 
at TestBed.get (http://localhost:9876/base/src/test.ts:5589:51) 
at _View_LoginComponent_Host0.createInternal (LoginComponent_Host.ngfactory.js:16:74) 
at _View_LoginComponent_Host0.AppView.create (http://localhost:9876/base/src/test.ts:36192:21) 
at _View_LoginComponent_Host0.DebugAppView.create (http://localhost:9876/base/src/test.ts:36404:44) 

я поставил proccess .env.backendUrl in enviroment.ts (файл создан угло-кли).

process.env.backendUrl = 'http://localhost:8080'; 

export const environment = { 
    production: false 
}; 

Должен ли я установить его в другом месте или есть способ рассказать о карме об этой переменной?

ответ

6

Если вы используете angular-cli, вы должны просто добавить backendUrl в environment.

export const environment = { 
    production: false, 
    backendUrl: 'http://localhost:8080' 
}; 

Вы должны также добавить его в файл environment.prod.ts, установив URL для производства URL. Когда вы начнете производство, будет использован файл .prod.

В ваших файлах необходимо импортировать environment (из файла environment.ts) и просто использовать environment.backendUrl.

Смотрите также:

+0

Спасибо, это работает хорошо – Mossar