1

gulp-mocha-phantomjs バージョン 0.8.0 にアップグレードした後、いくつかの問題があります。

1) URL でリモートに対して実行するときのエラー:

リモート URL に対してテストを実行すると、次のエラーが発生します。

ReferenceError: Can't find variable: Mocha
   at browser-shim.js:27

runner.html 内のすべての必要なファイルが利用可能であるように見え、テストは FF や Chrome などの実際のブラウザーで期待どおりに機能します。

runner.html:

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Mocha Test Runner</title>
        <link rel="stylesheet" href="HTTP://localhost:7777/q/p/lj_unittest/test/mocha.css">
        <link rel="stylesheet" href="HTTP://localhost:7777/q/p/lj_unittest/css/core.css">
    </head>
    <body>
        <div id="mocha"></div>

        <div id="fixture" style="display:none;">
            <div id="charset_ascii"> !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~</div>
            <div id="charset_other">ÄäÆæß</div>
        </div>

        <script src="HTTP://localhost:7777/q/p/lj_unittest/js/core.js"></script>
        <script src="HTTP://localhost:7777/q/p/lj_unittest/test/mocha.js"></script>
        <script src="HTTP://localhost:7777/q/p/lj_unittest/test/chai.js"></script>
        <script src="HTTP://localhost:7777/q/p/lj_unittest/test/chai-datetime.js"></script>
        <script src="HTTP://localhost:7777/q/p/lj_unittest/test/sinon.js"></script>

        <script>
            mocha.setup("bdd");
        </script>

        <script src="HTTP://localhost:7777/q/p/lj_unittest/test/backend/ods/charset_backend.js"></script>
        <script src="HTTP://localhost:7777/q/p/lj_unittest/test/backend/ods/ods.log_backend.js"></script>
        <script src="HTTP://localhost:7777/q/p/lj_unittest/test/backend/ods/date.js"></script>

        <script>
            mocha.run();
        </script>
    </body>
</html>

Gulpfile.js:

gulp.task('test:backend:ODS', function (/ callback /) { var stream = mochaPhantomJS({'reporter': 'spec'});

stream.write({path: config.URL_ROOT + '/TEST_WEB_ODS.main'});
stream.end();

return stream;

});

2)runner.htmlベースのテストの一部 (すべてではない) での奇妙な警告:

Unsafe JavaScript attempt to access frame with URL about:blank from frame with URL file:///D:/MyDev/ljs_app/trunk/periscope/build/node_modules/gulp-mocha-phant
mjs/node_modules/mocha-phantomjs-core/mocha-phantomjs-core.js. Domains, protocols and ports must match.

runner.html:

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Mocha Test Runner</title>
        <link rel="stylesheet" href="../../../libs/mocha/mocha.css">
        <link rel="stylesheet" href="../../../dist/css/core.css">
    </head>
    <body>
        <div id="mocha"></div>
        <div id="fixture" style="display:none;"></div>
        <script src="../../../dist/js/core.js"></script>
        <script src="../../../libs/mocha/mocha.js"></script>
        <script src="../../../libs/chai/chai.js"></script>
        <script src="../../../libs/chai/chai-datetime.js"></script>
        <script src="../../../libs/sinon/sinon.js"></script>

        <script>
            mocha.setup('bdd');
        </script>

        <!-- START of actual unit test scripts -->
        <script src="./json.js"></script>
        <script src="./moment.js"></script>
        <script src="./underscore.js"></script>
        <!-- END of actual unit test scripts -->

        <script>
            mocha.run();
        </script>
    </body>
</html>

Gulpfile.js:

gulp.task('test:frontend:lib', function (/*callback*/) {
    return gulp.src('test/frontend/lib/runner.html').pipe(mochaPhantomJS({'reporter': 'spec'}));
});

どんな助けでも大歓迎です!

4

1 に答える 1