Sinon.stub在业力,摩卡与铬运行,但不是无头

时间:2014-03-14 22:44:54

标签: angularjs unit-testing mocha stub sinon

我正在开发一个angularjs项目,如果用户在元素上滚动,该元素会调用scrollTop()来确定是否应该调用另一个方法。

我写了这个sinon.stub

scrollTopStub = sinon.stub($。fn,“scrollTop”)。returns(50);

这是验证

期望($ fn.scrollTop.calledOnce).to.be.true;

当我使用karma,mocha和chrome运行测试时,测试通过。

然而,当我无头地运行测试时,从未调用过sinon存根。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我知道这是一个老问题。但如果有人碰到这一点:这可能是一个完全不同的问题。我遇到一个similiar one曾经几乎被疯狂和误导性错误驱使疯狂与phantomjs一起运行(我假设这是无头浏览器) - 最后我发现 Phantomjs不支持bind(和其他一些es5方法因此使用它们的代码会失败。只需将es5 shim添加到测试index.html(或karma.conf或..)文件就可以解决问题了。因为我在另一个中使用了sinon.js和phantomjs项目我知道这可以正常工作