gpt4 book ai didi

javascript - 如何让 node.js 和 Mocha 在浏览器中运行(测试)?

转载 作者:搜寻专家 更新时间:2023-10-31 23:47:31 27 4
gpt4 key购买 nike

在 Win10.64 中,我在命令行上运行测试并获得预期结果:

>mocha test
Array
#indexOf()
√ should return -1 when the value is not present
1 passing (16ms)

但在 Chrome 中,控制台错误是:Uncaught ReferenceError: require is not defined(anonymous function) @test.lead-helper.js:1

test.lead-helper.js:

var assert = require("assert");

describe('Array', function() {
describe('#indexOf()', function () {
it('should return -1 when the value is not present', function () {
assert.equal(-1, [1,2,3].indexOf(5));
assert.equal(-1, [1,2,3].indexOf(0));
});
});
});

和 HTML 测试运行器:

<html>
<head>
<meta charset="utf-8">
<title>Mocha Tests</title>
<link href="https://cdn.rawgit.com/mochajs/mocha/2.2.5/mocha.css" rel="stylesheet" />
</head>
<body>
<div id="mocha"></div>
<div id="messages"></div>
<div id="fixtures"></div>
<script src="https://cdn.rawgit.com/jquery/jquery/2.1.4/dist/jquery.min.js"></script>
<script src="https://cdn.rawgit.com/Automattic/expect.js/0.3.1/index.js"></script>
<script src="https://cdn.rawgit.com/mochajs/mocha/2.2.5/mocha.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chai/3.3.0/chai.js"></script>
<script src="lead-helper.js"></script>
<script>mocha.setup('bdd')</script>
<script src="test/test.lead-helper.js"></script>
<script>
mocha.checkLeaks();
mocha.globals(['jQuery']);
mocha.run();
</script>
</body>
</html>

最佳答案

您的代码似乎在跨用途工作。你加载 Chai:

 <script src="https://cdnjs.cloudflare.com/ajax/libs/chai/3.3.0/chai.js"></script>

这是一个功能齐全的断言库,但是您使用 require("assert") 似乎是在尝试将 Node 的 assert 库加载到您的浏览器中。可能有一种方法可以通过使用 Browserify 来加载它,但我不明白你为什么要这样做,因为你已经加载了 Chai,并且没有迹象表明你的代码的其余部分需要 Browserify。

我只想删除 require 调用,取而代之的是:

var assert = chai.assert;

关于javascript - 如何让 node.js 和 Mocha 在浏览器中运行(测试)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33080182/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com