我尝试使用我的浏览器中的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事件。为什么我不能参与此活动?其他事件(套件,测试等)似乎对我有用。
感谢您的帮助!