编写一些辅助函数来使用phantomJs作为我们的测试框架,有没有办法制作'void'函数......或者让phantomJs以某种方式忽略返回值?
var mod = require('./mymod.js');
mod.doStuff();
>> TypeError: 'undefined' is not a function
为方便起见,有什么办法可以做到这一点吗?或者我不应该这么做的理由呢?
该方法存在。它只是一种触发某种东西的方法。因此,设计中没有任何内容可以为其提供返回值。
如果我var ignore = mod.doStuff();
一切都很好。但正如我所说,为方便起见......
我认为它试图评估所有陈述。也许我只是习惯于忽略执行级别数据类型的惰性解析器。
答案 0 :(得分:1)
当mod.doStuff()
没有时,var ignore=mod.doStuff();
无法生成错误。还有一些其他问题,如果您发布整个代码,可能会被追踪。从基础开始:在相关的行上放置一个断点,当它停在那里时,检查mod.doStuff的值并确保它是一个函数等等。为了用phantomJS做这个,google为“phantomJS” “远程调试”,它将告诉您--remote-debugger-port
选项,因此您可以打开Web浏览器http://localhost:port
并使用标准方法进行调试。