Angular 2 Жасмин Тест не пройден
Новинка как в Angular 2, так и в тестировании ядра.
У меня есть MovieComponent, который использует внедренный MovieService. Пытаясь освоить, так использовали параметры маршрута. Код работает как положено.
describe('MovieComponent', () => {
let component: MovieComponent;
let fixture: ComponentFixture<MovieComponent>;
let options: RequestOptions;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ MovieComponent ],
imports: [
HttpModule
],
providers: [
{
provide: ActivatedRoute, useValue: {
params: Observable.of({ movieName: 'Bah' })
}
}, MovieService, Http, {provide: ConnectionBackend},
],
schemas :[NO_ERRORS_SCHEMA ]
})
.compileComponents();
}));
beforeEach(() => {
options = new RequestOptions({method: RequestMethod.Get});
fixture = TestBed.createComponent(MovieComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
Но я получаю эту ошибку теста:
TypeError: Cannot read property 'getMovies' of undefined
Заранее спасибо.
1 ответ
Вы запускаете его в компиляторе? Это компилируется? Я не думаю что { provide:MovieService }
правильно. Просто передайте MovieService, как показано ниже:
providers: [
{
provide: ActivatedRoute, useValue: {
params: Observable.of({ movieName: 'Bah' })
}
}, MovieService
]
`