http://localhost:9876/assets/i18n/en.json 404 ng2-перевод

Я пытаюсь запустить простой модульный тест для приложения angular2, созданного с помощью [email protected], который использует [email protected].

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

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

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


person patrick.oneill    schedule 21.09.2016    source источник


Ответы (1)


Я написал модульный тест с помощью ng2-translate и сделал это в следующем примере:

перед каждым (() => {

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

  imports: [TranslateModule]
});
person user3114677    schedule 22.09.2016
comment
Привет спасибо. Итак, я сделал то, что вы предложили, но я не могу понять, как заставить фиктивный класс обслуживания возвращать значение. Ниже мой фиктивный класс. Не могли бы вы показать мне свой? :) class TranslateServiceMock { setDefaultLang () { } use (e) { console.log('translating', e, en); } } - person patrick.oneill; 22.09.2016
comment
Мой макет выглядит так: import { Observable } from 'rxjs/Observable'; экспортный класс TranslateServiceMock { addLangs(языки: Array‹string›) { } setDefaultLang(lang: string) { } use(lang: string): Observable‹any› { return null; } } - person user3114677; 25.09.2016