运行 mocha js 异步(AND-like)
Run mochajs asynchronously (AMD-like)
我可以在浏览器中异步加载 mocha 模块吗?我肯定可以用 chai 做到这一点。是否有任何解决方法可以使 mocha 以类似 amd 的方式工作?
require.config({
baseUrl: "/scripts",
paths: {
"mocha": "framework/mocha",
"chai": "framework/chai",
"first": "custom/first"
}
});
require(['first', 'mocha', 'chai'], function (first, mocha, chai) {
first.echo();
console.log('something');
console.log('something');
mocha.ui('tdd');
var assert = chai.assert;
suite('"Home" Page Tests', function () {
test('page should contain link to contact page', function () {
assert($('a[href="/contact"]').length);
});
});
mocha.run();
console.log('whatever');
});
在上面的代码示例中 first
和 chai
工作正常,而 mocha
未定义。
Mocha 不支持 AMD,因此如果您要使用 RequireJS 加载 Mocha,则需要 shim
。这是一个包含最小示例的 index.html
文件:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8"/>
<link href="node_modules/mocha/mocha.css" type="text/css" media="screen" rel="stylesheet" />
<script type="text/javascript" src="node_modules/requirejs/require.js"></script>
</head>
<body>
<div id="mocha"></div>
<script>
require.config({
paths: {
mocha: 'node_modules/mocha/mocha',
},
shim: {
mocha: {
exports: "mocha",
}
},
});
require(["mocha"], function (mocha) {
mocha.setup("bdd");
it("foo", function () {});
mocha.run();
});
</script>
</body>
</html>
您需要在 index.html
所在的同一目录中包含 运行 npm install requirejs mocha
。
在我希望能够使用 Mocha
构造函数的情况下,我使用此 shim
代替:
shim: {
mocha: {
exports: "mocha",
init: function () { return {mocha: mocha, Mocha: Mocha }; }
}
},
我可以在浏览器中异步加载 mocha 模块吗?我肯定可以用 chai 做到这一点。是否有任何解决方法可以使 mocha 以类似 amd 的方式工作?
require.config({
baseUrl: "/scripts",
paths: {
"mocha": "framework/mocha",
"chai": "framework/chai",
"first": "custom/first"
}
});
require(['first', 'mocha', 'chai'], function (first, mocha, chai) {
first.echo();
console.log('something');
console.log('something');
mocha.ui('tdd');
var assert = chai.assert;
suite('"Home" Page Tests', function () {
test('page should contain link to contact page', function () {
assert($('a[href="/contact"]').length);
});
});
mocha.run();
console.log('whatever');
});
在上面的代码示例中 first
和 chai
工作正常,而 mocha
未定义。
Mocha 不支持 AMD,因此如果您要使用 RequireJS 加载 Mocha,则需要 shim
。这是一个包含最小示例的 index.html
文件:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8"/>
<link href="node_modules/mocha/mocha.css" type="text/css" media="screen" rel="stylesheet" />
<script type="text/javascript" src="node_modules/requirejs/require.js"></script>
</head>
<body>
<div id="mocha"></div>
<script>
require.config({
paths: {
mocha: 'node_modules/mocha/mocha',
},
shim: {
mocha: {
exports: "mocha",
}
},
});
require(["mocha"], function (mocha) {
mocha.setup("bdd");
it("foo", function () {});
mocha.run();
});
</script>
</body>
</html>
您需要在 index.html
所在的同一目录中包含 运行 npm install requirejs mocha
。
在我希望能够使用 Mocha
构造函数的情况下,我使用此 shim
代替:
shim: {
mocha: {
exports: "mocha",
init: function () { return {mocha: mocha, Mocha: Mocha }; }
}
},