javascript - Jasmine - 测试对象中未定义的方法

标签 javascript jasmine

我有一个非常基本的问题。如何使用 Jasmine 检查对象中是否定义了方法?到目前为止,我有:

expect(obj.method).not.toBeUndefined();

但报告毫无帮助地指出:

'Expected undefined not to be undefined.'

如果它能以某种方式告诉我我试图在报告中查找的属性的名称,那就太好了。

感谢任何建议!

最佳答案

JS 引擎在将 obj.method 传递给 expect 函数之前对其进行评估。因此,无法从匹配器中恢复字符串 "method"

你应该 write your own matcher将方法名称作为字符串类型的参数。

有点像

expect(obj).toHaveMethod("method");

关于javascript - Jasmine - 测试对象中未定义的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10932986/

相关文章:

javascript - 解析 iOS、云代码和后台作业

javascript - RequireJS - 加载模块的多个实例

javascript - 使用分页时如何从 DataTables.net 获取所有数据行

javascript - 清空window.location.hash时如何避免滚动到页面顶部

javascript - 陷入递归除法迷宫

node.js - 模拟请求对象不适用于 Node.js 中的测试

javascript - 如何阻止 Protractor 在失败时运行进一步的测试用例?

javascript - 如何在 Jasmine 中编译嵌套指令以进行单元测试?

javascript - Jasmine 针对特定 HTML 测试 JavaScript 代码

testing - 无法使用 Protractor/ Jasmine 找到元素,可能是因为 sendKey 错误