如何针对100%代码覆盖率对缺少的浏览器功能实现进行单元测试?

时间:2015-05-20 10:41:46

标签: jasmine karma-runner karma-jasmine

我正在开发一个JavaScript Web Audio API库,并为浏览器功能实现进行了多次测试或规范化,例如。

try {
  window.AudioContext = window.AudioContext || window.webkitAudioContext;
  window.AudioFXGlobal.context = new AudioContext();
} catch (e) {
  AudioFX.error("Web Audio API Error: " + e.message);
}

if (!this.source.start) {
  this.source.start = this.source.noteOn;
}

其中相应的分支是我尚未被单元测试用例覆盖的唯一代码部分。我试图手动设置例如。例如window.AudioContextnull到达代码块之前,但没有运气。

所以我的问题是如何处理这个问题,或者分别是否尝试达到100%的代码覆盖率是有意义的,根据伊斯坦布尔目前居住在93%。

1 个答案:

答案 0 :(得分:0)

SoundJS WebAudioPlugin在初始化时通过使用旧方法创建api on context的最新属性和方法(如果尚不存在)来设置对旧版Web音频的支持。有关详细信息,请参阅WebAudioPlugin._compatibilitySetUp

例如: s.context.createGain = s.context.createGainNode;

相关问题