【发布时间】:2021-03-14 15:31:39
【问题描述】:
我目前正在编写一个小型库来帮助连接到媒体设备,如果我可以对该库进行单元测试,那就太好了,我的 typescript 库中有一个看起来像这样的函数,
static connectAudioDevice(device?: InputDeviceInfo) : Promise<MediaStream> {
return new Promise<MediaStream>((resolve, reject) => {
navigator.mediaDevices.getUserMedia({audio: true})
.then(stream => {
resolve(stream);
})
.catch(error => {
resolve(error);
})
})
}
我想用jest.spyOn 来模拟getUserMedia 这可能吗?类似的,
import devices from '@/assets/lib/devices.ts';
test('Resolves with valid audio mediaStream', () => {
const audioStream = {};
let promise = devices.connectAudioDevice();
jest.spyOn(window.navigator.mediaDevices, 'getUserMedia', promise);
})
但我得到了错误:
无法窥探原始值;给定的未定义
谁能帮帮我?
【问题讨论】:
标签: javascript typescript dom jestjs spy