我正在使用mocha-phantomjs运行测试。
在运行单元测试时,我没有运行http服务器,因此我的资源无法通过绝对网址提供(例如: /static/images/face.png ),而我和#39;得到以下输出:
% node_modules/mocha-phantomjs/bin/mocha-phantomjs test/runner/runner.html
test app.Main
✓ should show a command line
1 test complete (79 ms)
Error loading resource file:///static/images/face.png (203). Details: Error opening /static/images/face.png: No such file or directory
我的测试:
describe "test app.Main", ->
beforeEach ->
@app = App.Main()
React.renderComponent @app, root[0]
afterEach -> React.unmountComponentAtNode root[0]
it "should show a command line", ->
@cmdForm = root.find("div.header-block").first().find('form')
expect(@cmdForm.length).to.equal 1
expect(@cmdForm.find('div.select2-container ul.select2-choices').length).equal 1
测试成功,但同时我有这个丑陋的错误消息。 如何配置phantomJS(或mocha?)忽略加载该资源/不显示此错误消息?
答案 0 :(得分:2)
您必须停用loadImages默认mocha-phantomjs -s loadImages=false
答案 1 :(得分:0)
@reubano的回答即设置loadImages=false
可以防止幻影加载图像,因此@ robert-zaremba正在寻找。但是,如果您需要单元测试代码如何对丢失的文件做出反应,则需要真正加载文件。在这种情况下,错误消息会使您烦恼,因为测试丢失的文件是测试套件的一部分。
幸运的是mocha-phantomjs有一个标记--ignore-resource-errors
。这是你的救世主。文件仍在加载,但烦人的错误消失了。
如果直接使用phantomjs,解决方案是覆盖page.onResourceError
described here。
答案 2 :(得分:-1)
您可以使用window.onError(function() {...
处理程序捕获(并吃掉)这些错误。