如何测试在标准浏览器上请求权限的内容?

时间:2015-07-30 11:37:42

标签: 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.URL.createObjectURL(stream));
        resolve(stream);
      }, (error) => {
        reject(error);
      });
    });
  }
}
window.camera = Camera;

然而,似乎存在问题。我用流星的包测试框架进行了小型单元测试。

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();
  })
});

但是,此测试会暂停,因为它必须从浏览器请求权限才能使用用户媒体。

如何测试从浏览器请求权限的程序包?

0 个答案:

没有答案