【问题标题】:http://localhost:9876/assets/i18n/en.json 404 ng2-translatehttp://localhost:9876/assets/i18n/en.json 404 ng2-translate
【发布时间】:2016-09-22 17:10:32
【问题描述】:

我正在尝试对使用 ng2-translate@2.5.0 的 angular-cli@1.0.0-beta.14 生成的 angular2 应用程序运行一个简单的单元测试。

当我运行单元测试时,翻译服务无法加载翻译文件。

我相信解决方案在于结合使用 karma.conf 代理属性、TranslateStaticLoader 和 angular-cli.json 设置。

我使用的是标准的 cli 目录结构。我有一种感觉/希望这是一个常见问题。如果需要,将提供代码和目录 sn-ps。

【问题讨论】:

    标签: angular angular-cli ng2-translate


    【解决方案1】:

    我使用 ng2-translate 编写了单元测试,并按照以下示例进行:

    beforeEach(() => {

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

    【讨论】:

    • 嗨,谢谢。所以我按照你的建议做了,但我不知道如何让模拟服务类返回一个值。下面是我的模拟课。你能给我看看你的吗? :) class TranslateServiceMock { setDefaultLang () { } use (e) { console.log('translating', e, en); } }
    • 我的模拟看起来像这样: import { Observable } from 'rxjs/Observable';导出类 TranslateServiceMock { addLangs(langs: Array) { } setDefaultLang(lang: string) { } use(lang: string): Observable { return null; } }
    猜你喜欢
    • 2018-05-03
    • 2018-08-25
    • 1970-01-01
    • 2018-05-25
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多