【问题标题】:Testing ternary operator (Angular)测试三元运算符(Angular)
【发布时间】:2019-02-10 10:57:12
【问题描述】:

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

好的,这是我的代码的一部分,它与角度转换有关,如您所见,我们在这里有一个小的三元表达式。当我运行测试覆盖率时,它会突出显示 'pl' 并带有一条信息:“未覆盖分支”。

在 Karma 中覆盖它的最佳方法是什么?

const browserLang = translate.getBrowserLang();
this.language = browserLang.match(/pl|en/) ? browserLang : 'pl';
translate.use(this.language);

【问题讨论】:

    标签: angular unit-testing karma-jasmine


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-08-01
      • 2019-05-06
      • 2021-01-25
      • 2018-07-07
      • 1970-01-01
      • 2016-03-16
      • 2015-08-29
      • 2018-09-10
      相关资源
      最近更新 更多