【发布时间】:2019-12-24 17:38:11
【问题描述】:
在 JavaScript chaijs 测试库中,可以像这样链接成员:
pm.expect (entry.NAME).to.be.a('string').that.is.not.empty;
这个问题不是关于测试库,而是关于库的内部技术。我知道它的工作原理是这样的:pm.expect 是一个函数,它返回一个至少包含 { to: { be: { a } } } 的对象,其中 a 是另一个至少返回 { that: { is: { not: { empty } } } } 的函数。
有趣的是empty 显然不是一个函数。如果是,我将不得不这样称呼它:that.is.not.empty()(注意括号)。所以链以一个不是函数的成员变量结束。
如何在 JavaScript 中使用该成员变量来产生副作用?你能告诉我一个最小的 JS sn-p,它允许我用不是函数调用的东西(比如 empty;)结束一个表达式,并且仍然像一个函数调用一样吗?
【问题讨论】:
标签: javascript decorator-chaining