代码之家  ›  专栏  ›  技术社区  ›  Adrian Sawicki

测试三元运算符(角度)

  •  0
  • Adrian Sawicki  · 技术社区  · 5 年前

    我在写三元表达式的测试时遇到了问题。

    好的,这是我的代码的一部分,它与角度翻译有关,正如你所看到的,这里有一个小的三元表达式。当我运行测试覆盖时,它会突出显示 'pl' 包含信息:“未覆盖分支”。

    在因果报应中,最好的方法是什么?

    const browserLang = translate.getBrowserLang();
    this.language = browserLang.match(/pl|en/) ? browserLang : 'pl';
    translate.use(this.language);
    
    1 回复  |  直到 5 年前
        1
  •  1
  •   Normunds Kalnberzins    5 年前

    在测试序列之前,请设置将检测到的浏览器语言。注入你的 TranslateService 在你的测试中 translate 然后创建间谍:

    spyOn(translate, 'getBrowserLang').and.returnValue('de');
    

    这将确保您将击中三元运算符中的“else”分支。