javascript - Mocha 在浏览器中加载空白

标签 javascript html bdd mocha.js chai

上下文

我之前曾多次使用过 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:

enter image description here

  • 当运行脚本标记如下所示时:

    $(function() {
        window.mochaPhantomJS ? mochaPhantomJS.run() : mocha.run();
      });
    

    它从 /specRunner.html 重定向到 /2,1 并且控制台错误大约每 30 秒重复一次。 enter image description here

最佳答案

给你,刚刚测试过。

<!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/

相关文章:

javascript - 使用 CanvasRenderer 可能存在内存泄漏

javascript - 如何将 bootstrap popover 工具提示放入按钮中

javascript - 单击更改按钮和 div

html - 将图像包裹在 div 元素中

html - 在移动设备上当前视口(viewport)的中心显示 div

javascript - 经过 <span> 的点击次数

javascript - 单击另一个 DIV 后恢复翻转

javascript - 类型错误 : Cannot read property 'args' when creating spy with Jasmine

cucumber - 如何在我的 cucumber BDD 步骤定义中使 "the"可选?

c# - 在超过 1 行 Specflow 中提供示例