无法成功附加到mocha runner

时间:2017-02-03 01:30:30

标签: javascript mocha blanket.js

我尝试使用我的浏览器中的mocha测试来设置毯子。 为此,我遵循mocha-blanket.js文件here中的模式,但尝试集成到我现有的跑步者中。我想添加一些代码,以便在从mocha发出start事件时运行。

我遇到的问题是我似乎无法从我的适配器触发它。 这是一个简单版本的适配器,只有启动事件:

function run_mocha() {
    mocha.checkLeaks();
    mocha.globals(['jQuery']);
    mocha.run()
        .on('start', function() {
            console.log("start2");
            });
}

mocha.setup({ ui: 'bdd', timeout: 5000});

我的HTML页面(没有毯子部分看起来像这样:

<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <script src="https://code.jquery.com/jquery-3.1.1.js"
            integrity="sha256-16cdPddA6VdVInumRGo6IbivbERE8p7CQR3HzTBuELA="
            crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/mocha/3.2.0/mocha.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/chai/3.5.0/chai.min.js" type="text/javascript"></script>
    <script defer src="sitecode.js"></script>
    <script defer src="testsetup.js"></script>
    <script defer src="tests.js"></script>
</html>
</body>

现在,当我在Chrome开发工具中运行run_mocha()时,我看不到打印的start2,并且没有点击断点。我试着看看它是否在mocha.setup期间发生,但也没有碰到那里的断点。

所以我下载了mocha.js并注意到了这段代码:

 runner.on('start', function () {
  console.log("start"); //this line was added by me.
  stats.start = new Date();
});

这会向控制台发出启动,因此会触发start事件。为什么我不能参与此活动?其他事件(套件,测试等)似乎对我有用。

感谢您的帮助!

0 个答案:

没有答案