【问题标题】:Jasmine, mock `new Audio()` classJasmine,模拟`new Audio()` 类
【发布时间】:2021-10-10 15:35:33
【问题描述】:

我有以下方法

  playSound(): void {
    const audio = new Audio(`/assets/speeches/${this.code}.mp3`);
    audio.play().then();
  }

我想为audio.play().then(); 编写测试,但我无法监视new Audio()。我试过的是spyOn(global, 'Audio');,它对我不起作用。

提前致谢:)

【问题讨论】:

  • 你的意思是window
  • 你的意思是 spyOn(window, 'Audio') 吗?
  • 是的,请尝试一下。
  • 是的,谢谢,伙计。如果您不介意,请发布您的答案,然后我可以关闭问题:)

标签: javascript angular typescript jasmine


【解决方案1】:

global 不是浏览器的全局上下文。请改用window

spyOn(window, 'Audio');

【讨论】:

    猜你喜欢
    • 2015-03-01
    • 1970-01-01
    • 2011-06-29
    • 2019-11-16
    • 2020-03-21
    • 2019-03-22
    • 2021-10-18
    • 2013-12-20
    • 1970-01-01
    相关资源
    最近更新 更多