0

PhantomJS と Mocha を使用して、バックボーン アプリケーションにテストを追加したいと考えています。

私はこのチュートリアルに従っています。既存のバックボーン アプリケーションにページをロードし、タイトル タグが想定どおりであることを確認したいと考えています。

これは での私の最初の試みですtest/test.js:

describe("DOM Tests", function () {
    var page = require('webpage').create();
    page.open('http://localhost:5000/', function () {
        var title = page.evaluate(function () {
            it("has the right title", function () {
              expect(document.title).to.equal('hello world');
            });
        });
        phantom.exit();
    });
});

構文が正しいかどうかはわかりませんが、現時点でhttp://localhost:5000/testrunner.htmlは、次のエラー メッセージが表示されます。

Uncaught ReferenceError: require is not defined 

どうすればこれを修正できますか? そして、私は正しい方法でテストしていますか?

4

1 に答える 1

0

これは、ファントムのロジックを削除することで修正できます。コードがリファクタリングされる可能性があります

describe("DOM Tests", function () {
   it("has the right title", function () {
     expect(document.title).to.equal('hello world');
   });
});

現在の実装には複数の問題があるようです

  • testrunner.htmlのスクリプトが含まれていない可能性が高いですrequire
  • test.jsは含まれませんdefine( function( require ) { //your code here } );詳しくは、 requirejs 入門をご覧ください。

また、あなたが言及したサイトのサンプル ファイルをダウンロードすると、完全なテストを見ることができます。彼らのサイトのPhantomJS と Mochatest.jsセクション、特にそのセクションの下のファイルをもう一度注意深く読むことをお勧めします。

于 2013-11-08T19:38:31.483 に答える