2

短縮版:

nightmare.js と mocha を使用して記述したテストのコード カバレッジを確認できません。私はすでに istanbul と _mocha を使用しようとしましたが、これまで運がありませんでした。

ビッグバージョン:

私は小さなプロジェクトを持っています:

/public/index.html

<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>My Website</title>
  <script src="./js/hello.js"></script>
</head>
<body>
  <h1>My Website</h1>
</body>
</html>

/public/js/hello.js

window.hello = function hello(){
  return 'world';
};

このサイトは、エクスプレスとフォーエバーを使用して実行されています。

nightmare.js を使用してテストしようとしているとき。

/test/test.js

var path = require('path');
var Nightmare = require('nightmare');
var should = require('should');

/*global describe */
/*global it */

describe('Simple demo', function () {
  this.timeout(15000);
  var url = 'http://localhost:9000';

  it('check hello world result', function (done) {
    new Nightmare()
      .goto(url)
      .evaluate(function () {
        /*global hello */
        return hello();
      }, function (value) {
        var expected = "world";
        if (value === null) {
          false.should.equal(true);
          return done();
        }
        value.should.equal(expected);
        return done();
      })
      .run();
  });

  it('should get the index title', function (done) {
    var expected = 'My Website';
    new Nightmare()
      .goto(url)
      .title(function (title) {
        title.should.equal(expected);
        done();
      })
      .run();
  });
});

テストは合格です

$ mocha


  Simple demo
    ✓ check hello world result (2089ms)
title =  Alexandria
    ✓ should get the index title (1947ms)


  2 passing (4s)

しかし、テストからコード カバレッジ レポートを取得できません。

私はすでに次のようないくつかのコマンドを試しました:

$ istanbul cover _mocha -- test/test.js -u exports -R spec
No coverage information was collected, exit without writing coverage information

$ istanbul cover --hook-run-in-context _mocha -- -R spec
No coverage information was collected, exit without writing coverage information

では、誰かが nightmare.js テストのコード カバレッジ レポートを作成できたのでしょうか? いいえの場合、別のツールを使用してそれに近いものはありますか?

4

2 に答える 2