Как добавить провайдеров в спецификацию тестирования angular2 с жасмином, так как addProvider устарел в RC6?
Я пытаюсь написать свой beforeEach
так, чтобы каждый it
получает необходимые модули / провайдеры:
beforeEach(() => addProviders([
BaseRequestOptions,
MockBackend,
{
provide: Http,
useFactory: (backend: MockBackend, options: BaseRequestOptions) => new Http(backend, options),
deps: [MockBackend, BaseRequestOptions]
},
MyService
]));
Но с тех пор addProviders
метод устарел в RC6, что является лучшей альтернативой для добавления моих провайдеров?
1 ответ
Решение
Используйте TestBed из @angular/core/testing
создавать тестовые модули. Например
beforeEach(() => {
TestBed.configureTestingModule({
imports: [ ... ],
declarations: [ ... ],
providers: [
{ .. },
MyService
]
});
});
Это почти то же самое, что и настройка обычного модуля, за исключением того, что вам не нужно ничего экспортировать.
Смотрите более полные примеры в ng2-test-seed. Здесь приведены примеры тестирования компонентов, также использующих TestBed