Компонент undefined не имеет конфигурации маршрута, иначе как настроить маршрутизатор Angular 2 для модульного тестирования?

Я работаю над настройкой спецификации для маршрутизации с Angular2. Это компонент приложения:

import {Component, View} from 'angular2/core';

import {RouteConfig, ROUTER_DIRECTIVES} from 'angular2/router';
import {Search} from './search/search';
import {SearchResults} from './search-results/search-results';

@Component({
     selector: 'my-app'
})
@View({
    template: `<div>
    <router-outlet></router-outlet>
     </div>`,
    directives: [ROUTER_DIRECTIVES]
})
@RouteConfig([
    {path: '/search', name: 'Search', component: Search, useAsDefault: true},
    {path: '/search-results', name: 'SearchResults', component: SearchResults}
])
export class App {
}

Это поисковый компонент, содержащий навигацию:

import {Component} from 'angular2/core';
import {Router} from "angular2/router";

@Component({
     template: '<div></div>'
})
export class Search {
    constructor(public router: Router) {}

    onSelect(station:Station):void {
        this.router.navigate(['SearchResults']);
    }
}

Компонент результатов поиска: import {Component} from "angular2 / core";

@Component({
    template: '<div></div>'
})
export class SearchResults {
    constructor() {
    }
}

Это спецификация:

import {
    it,
    inject,
    describe,
    beforeEachProviders,
    MockApplicationRef
} from 'angular2/testing';

import {Component, provide, ApplicationRef} from 'angular2/core';

import {
    APP_BASE_HREF, ROUTER_PRIMARY_COMPONENT, ROUTER_PROVIDERS, ROUTER_DIRECTIVES
} from "angular2/router";
import {Search} from "./search";
import {App} from "../app";
import {SearchResults} from "../search-results/search-results";

import {bootstrap}    from 'angular2/platform/browser';
import {Http, BaseRequestOptions} from "angular2/http";
import {MockBackend} from "angular2/src/http/backends/mock_backend";


describe('Search', () => {

// provide our implementations or mocks to the dependency injector
beforeEachProviders(() => [
    ROUTER_PROVIDERS,
    ROUTER_DIRECTIVES,
    provide(ROUTER_PRIMARY_COMPONENT, {useClass: App}),
    provide(APP_BASE_HREF, {useValue : '/'}),
    provide(ApplicationRef, {useClass: MockApplicationRef}),
    Search
]);

it('navigates', inject([Search], (search) => {
    search.onSelect(CHOICE);
    expect(search.router.navigating).toBe(true);
}));
});

Рабочий код работает, но спецификация - нет. Очевидно, что в настройке маршрутизатора все еще чего-то не хватает, потому что я получаю следующую ошибку: «Компонент undefined не имеет конфигурации маршрута». Я отладил в коде Angular2 (beta.1), и это исключение будет сгенерировано в строке 2407 router.dev.js. Это означает, что этому компоненту не назначен распознаватель компонентов, но я не знаю, как его разрешить.

Ответы на вопрос(1)

Ваш ответ на вопрос