繁体   English   中英

使用Enzyme / Mocha进行反应测试 - 音频未定义

[英]React testing with Enzyme/Mocha - Audio is not defined

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

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

其作品在浏览器,但根据这个 ,是不是就node.js中 因此,当我使用酶来尝试渲染组件时,它会出错:

ReferenceError: Audio is not defined

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

我看到两个选择。

  1. 在测试期间将Audio对象作为属性+传递到测试组件中,您将创建Sinon的存根或间谍 ,并将其作为伪依赖项传递给组件。
  2. 从版本9.3.0开始,jsDOM似乎支持Audio构造函数 因此,您可以在测试中通过jsDOM模拟浏览器环境

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM