【问题标题】:React testing with Enzyme/Mocha - Audio is not defined使用 Enzyme/Mocha 进行反应测试 - 未定义音频
【发布时间】:2016-07-11 16:09:13
【问题描述】:

我正在尝试为我的 react 应用程序构建一个测试套件。应用程序中的某个组件使用Audio

const audio = new Audio('beep.wav');
audio.play();

在浏览器中工作,但根据this,不在 node.js 上。因此,当我使用酶尝试渲染组件时,它会报错:

ReferenceError: Audio is not defined

我是测试新手,但有没有办法解决这个问题?我可以以某种方式模拟一个对象来取代Audio 的位置吗?我是 font-end/javascript 单元测试的新手,所以我仍在尝试学习技巧。

【问题讨论】:

    标签: javascript unit-testing reactjs enzyme


    【解决方案1】:

    我看到了两个选项。

    1. 在测试期间将 Audio 对象作为属性 + 传递给您的测试组件,您将创建 Sinon's stub or spy 并将其作为假依赖传递给组件。
    2. Since version 9.3.0, jsDOM seem to support Audio constructor。所以你可以在你的测试中simulate browser environment via jsDOM

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-13
      • 2016-10-30
      • 2015-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多