3

mocha-phantomjsを使用してテストを実行しています。

単体テストの実行中、http サーバーを実行していないため、絶対 URL (例: /static/images/face.png ) からリソースを利用できず、次の出力が得られます。

% 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?)を構成するにはどうすればよいですか?

4

3 に答える 3

0

@reubano ie 設定による答えは、phantomjsloadImages=falseが画像をまったくロードできないようにするため、@ robert-zarembaが探していたものです。ただし、不足しているファイルにコードがどのように反応するかを単体テストする必要がある場合は、ファイルを実際にロードする必要があります。その場合、不足しているファイルのテストはテスト スイートの一部であるため、エラー メッセージが煩わしくなります。

幸いにもmocha-phantomjsにはフラグがあり--ignore-resource-errorsます。それはあなたの救世主です。ファイルは引き続きロードされますが、厄介なエラーはなくなりました。

phantomjs を直接使用する場合の解決策は、page.onResourceError こちらで説明されているオーバーライドです。

于 2016-03-28T11:08:50.113 に答える
-1

ハンドラーを使用して、window.onError(function() {...これらのエラーをキャッチ (および処理) できます。

于 2014-05-05T18:55:34.207 に答える