phantomjs+ mocha + node + открытие веб-страницы

Я пытаюсь сделать что-то очень простое. Или я так думал.

Все, что я хочу сделать, это использовать phantomjs, чтобы открыть веб-страницу и подтвердить ее заголовок. Я использую mocha-phantomjs для вызова моего бегуна, который выглядит следующим образом:

<html>
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="../../node_modules/mocha/mocha.css" />
  </head>
  <body>
    <div id="mocha"></div>
    <script src="../../node_modules/mocha/mocha.js"></script>
    <script src="../../node_modules/chai/chai.js"></script>
    <script>
      mocha.ui('bdd');
      mocha.reporter('html');
    </script>
    <script src="test.js"></script>
    <script>
      if (window.mochaPhantomJS) { mochaPhantomJS.run(); }
      else { mocha.run(); }
    </script>
  </body>
</html>

и мой тестовый файл выглядит

(function() {
  var page, url;

  page = require('webpage');

  page = webpage.create();

  url = "http://localhost:3000";

  page.open(url, function(status) {
    var ua;
    if (status !== "success") {
      return console.log("Unable to access network");
    } else {
      ua = page.evaluate(function() {
        return document.title.should.equal('blah');
      });

      phantom.exit();
    }
  });

  describe('Sanity test', function() {
    return it('true should be true', function() {
      return true.should.equal(true);
    });
  });

}).call(this);

при запуске с помощью mocha-phantomjs жалуется, что не знает, что require но мне нужно, чтобы веб-страница.

Как я могу решить это?

1 ответ

Возможно, вы захотите сделать это с помощью casper.js, это проще:

casper.test.begin('my test', function suite(test) {
    casper.start("your url", function() {
        test.assertTitle("expected title");
    });
    casper.run(function() {
        test.done();
    });
});
Другие вопросы по тегам