如何在Angular.js中使用Jasmine模拟文档的属性?

问题描述

我想模拟文档对象以覆盖文档语言。我尝试了不同的方法来覆盖我的代码的这一部分,但没有成功。

要覆盖的代码

const docLanguage = document.documentElement.lang;

if (docLanguage === '') {
    this.language = 'en';
} else {
    this.language = docLanguage;
}

所以我需要模拟document.documentElement.lang来覆盖我的代码

试图用以下方法模拟文档:

document.documentElement.lang = 'en';

this.$document[0].documentElement.lang = 'en';

const mockDocument = [{
  documentElement: function() {
   return {
     lang: 'en'
   };
  }
}];

spyOnProperty(document,'documentElement').and.returnValue(mockDocument[0]);

但没有任何效果

我如何嘲笑document.documentElement.lang

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)