2016-09-21 1 views
0

Я пытаюсь запустить простой модульный тест в приложении angular2, созданный с помощью [email protected], который использует ng2 [email protected]http: // localhost: 9876/assets/i18n/en.json 404 ng2-translate

Когда я запускаю свои модульные тесты, служба перевода не может загрузить файл перевода.

Я считаю, что решение лежит в сочетании свойств прокси-серверов karma.conf, TranslateStaticLoader и установки angular-cli.json.

Я использую стандартную структуру каталога cli. У меня есть чувство/надежда, что это общая проблема. При необходимости предоставит фрагменты кода и каталога.

ответ

0

Я написал модульное тестирование с NG2-перевод, и я сделал это, как в следующем примере:.

beforeEach (() => {

TestBed.configureTestingModule({ 
    declarations: [ 
    AppComponent 
    ], 
    providers: [ 
    { provide: TranslateService, useClass: TranslateServiceMock }, 
    { provide: TranslatePipe, useClass: TranslatePipe }, 
    ], 

    imports: [TranslateModule] 
}); 
+0

Привет, спасибо Так что я сделал то, что вы предложили, но я не могу понять, как получить макет класса обслуживания, чтобы вернуть значение. Ниже мой фиктивный класс. не могли бы вы показать мне свой? :) класс 'TranslateServiceMock { setDefaultLang() { } использование (е) { console.log ('translating', e, en); } } ' –

+0

Мой макет выглядит следующим образом: import {Observable} из 'rxjs/Observable'; экспорт класс TranslateServiceMock { addLangs (Langs: Array ) { } setDefaultLang (Ланг: строка) { } использование (языки: строка): Наблюдаемое { возвращение нуль; } } – user3114677

Смежные вопросы