上下文
我之前曾多次使用过 Mocha,无论是在浏览器中还是仅使用命令行。我倾向于使用 Chai 的 Expect 模块来实现 bdd。
我有五个测试文件一直在使用命令行npm test
。我只是想在浏览器中运行测试以便更好地调试。
问题
这个设置简直让我难以置信。我要么得到一个没有测试的空白 Mocha 页面,要么在屏幕上看到第一个测试闪烁,然后它重定向。
当前specRunner.html
<!DOCTYPE HTML
<html>
<head>
<title>Mocha Tests</title>
<link rel="stylesheet" href="node_modules/mocha/mocha.css" />
<script src="node_modules/jquery/dist/jquery.min.js"></script>
<script src="node_modules/mocha/mocha.js"></script>
<script src="node_modules/chai/chai.js"></script>
<script>mocha.setup('bdd');</script>
<script src="mineLocation.js"></script>
<script src="test/mineTests.js"></script>
<script>
window.expect = chai.expect;
mocha.run();
</script>
</head>
<body>
<div id="mocha"></div>
</body>
</html>
之前的尝试
- 我尝试过移动脚本标签,认为加载时依赖关系未得到满足。
- 我尝试过相对路径和绝对路径。控制台显示所有标签均已正确加载。
- 我尝试修改运行脚本标记。当如上例所示时,它会显示一个空白页面并显示“Cannot read property 'appendChild' of null”,指向 Mocha:
当运行脚本标记如下所示时:
$(function() { window.mochaPhantomJS ? mochaPhantomJS.run() : mocha.run(); });
它从
/specRunner.html
重定向到/2,1
并且控制台错误大约每 30 秒重复一次。
最佳答案
给你,刚刚测试过。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Mocha Test</title>
<link rel="stylesheet" type="text/css" href="node_modules/mocha/mocha.css">
</head>
<body>
<div id='mocha'></div>
<div id='app'></div>
<script src="node_modules/mocha/mocha.js"></script>
<script src="node_modules/chai/chai.js"></script>
<script src="app.js"></script>
<script>
mocha.setup('bdd');
var expect = chai.expect;
</script>
<!-- Tests -->
<script src="app_test.js"></script>
<script>
mocha.run();
</script>
</body>
</html>
关于javascript - Mocha 在浏览器中加载空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28442531/