【发布时间】:2018-06-12 13:29:04
【问题描述】:
如何正确测试(使用jest)结果是否是一个实际的JavaScript函数?
describe('', () => {
it('test', () => {
const theResult = somethingThatReturnsAFunction();
// how to check if theResult is a function
});
});
我找到的唯一解决方案是像这样使用typeof:
expect(typeof handledException === 'function').toEqual(true);
这是正确的方法吗?
【问题讨论】:
-
是的;你会怎么做呢?我可能会在 LoDash 的
isFunction之类的东西中完成检查,但这是次要的(因为我几乎总是有一个 lodash 依赖项)。 -
我认为有一种方法可以通过 jest api,例如
expect(result).toBe('function')或 idk 与 toBe 相关的东西。感谢@DaveNewton 的回答 -
这会将它与字符串
function进行比较,这不是您想要的。不过,可能有一个函数类型匹配器;我只是不知道。
标签: javascript unit-testing jestjs