Javascript 如何测试在标准浏览器上请求权限的东西?
我在es6有一个基本的摄像头课程。一种方法请求权限。我会简化它Javascript 如何测试在标准浏览器上请求权限的东西?,javascript,unit-testing,meteor,Javascript,Unit Testing,Meteor,我在es6有一个基本的摄像头课程。一种方法请求权限。我会简化它 class Camera { // omit unimportant details getStream() { return new Promise((resolve, reject) => { navigator.webkitGetUserMedia({ video: true }, (stream) => { this.video.attr('src', window.U
class Camera {
// omit unimportant details
getStream() {
return new Promise((resolve, reject) => {
navigator.webkitGetUserMedia({ video: true }, (stream) => {
this.video.attr('src', window.URL.createObjectURL(stream));
resolve(stream);
}, (error) => {
reject(error);
});
});
}
}
window.camera = Camera;
然而,似乎有一个问题。我用meteor的包测试框架进行了一个小单元测试
Tinytest.addAsync('Should set the video url', function (test, next) {
let camera = new window.Camera();
camera.getStream().then((stream) => {
test.isNotUndefined(stream);
test.equals(camera.video.attr('src', window.URL.createObjectURL(stream)));
next();
}).catch((err) => {
test.fail(err);
next();
})
});
但是,此测试暂停,因为它必须从浏览器请求权限才能使用用户媒体
如何测试从浏览器请求权限的包