Unit testing 用Jest进行vue.js单元测试:我应该模拟HTLL5音频元素吗?
在测试一个包含HTML5元素的AudioPlayer vue组件时,我想知道如何用Jest编写规范 模板Unit testing 用Jest进行vue.js单元测试:我应该模拟HTLL5音频元素吗?,unit-testing,vue.js,jestjs,vue-test-utils,Unit Testing,Vue.js,Jestjs,Vue Test Utils,在测试一个包含HTML5元素的AudioPlayer vue组件时,我想知道如何用Jest编写规范 模板 <audio id="player" ref="player" @ended="ended" @canplay="canPlay" :src="file"></audio> 如何设置文件属性?(我想从src/assets/audio/mysong.mp3传递一个音频文件) 如果我改用shallowMount,我应该模拟音频元素吗?哪条路。。。由于音频元素处理
<audio id="player" ref="player" @ended="ended" @canplay="canPlay" :src="file"></audio>
如何设置文件属性?(我想从src/assets/audio/mysong.mp3传递一个音频文件)
如果我改用shallowMount,我应该模拟音频元素吗?哪条路。。。由于音频元素处理play()、pause()、mute()。。。我有点迷路了,我找不到任何与测试此类组件相关的帖子…您可以使用空声音文件初始化组件,您可以使用base64数据uri内联它
const file='数据:音频/波形;base64,UKLGRJJAAABXQVZFZM10IBIAAAAAAAAABAAAQB8AAEAFAAABAAAGAABMYWN0BAAAAAAAAAABKYXRhaAAAAAA==';
常量包装=挂载(音频播放器{
propsData:{
自动播放:错误,
文件
结束了,
能玩
}
});
另见:
我检查Heading.vue父组件如何设置文件属性,它不是字符串或文件,而是计算方法中的对象:
data() {
return {
file: "ultimo_desejo",
....
computed: {
<audioplayer id="audioplayer" v-if="listening" v-show="showAudioPlayer" :autoPlay="autoPlay" :file="audioFile" :canPlay="audioReady" :ended="switchAudioPlayer" @ended="switchAudioPlayer"></audioplayer>
....
所以我可以在AudioPlayer.spec文件中设置道具
const file = require("@/assets/audio/ultimo_desejo.mp3");
const wrapper = mount(AudioPlayer, {
propsData: {
autoPlay: false,
file: file,
ended,
canPlay
}
});
props: {
file: {
type: Object,
default: null
},
const file = require("@/assets/audio/ultimo_desejo.mp3");
const wrapper = mount(AudioPlayer, {
propsData: {
autoPlay: false,
file: file,
ended,
canPlay
}
});