JavaScript – 如何断言库如Chai工作而不强制调用函数?

前端之家收集整理的这篇文章主要介绍了JavaScript – 如何断言库如Chai工作而不强制调用函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Chai,你可以做如下的东西:
expect({}).to.exist;

存在不是函数调用,但是这仍然在测试框架中.相反(expect({}).to.not.exist)会导致测试失败,但是再次存在并不是一个函数调用.

这些断言如何工作,而不让我调用函数?事实上,如果我尝试说expect({}).to.exist(),测试失败,因为存在不是一个函数.

解决方法

我想出来了(至少我想出了一个方法).使用 JavaScript getters
var throws = {
  get a() {
    throw new Error('a');
  },get b() {
    throw new Error('b');
  },get c() {
    throw new Error('c');
  }
};

当做throws.a,throws.b或throws.c时,会抛出适当的错误.

从那时起,构建柴内容中的断言是相当容易的.

猜你在找的JavaScript相关文章