我已经为一个项目设置了一个小测试环境。它应该使用mocha
和chai
进行单元测试。我已经成立了一个html
文件作为测试运行:可能在单个测试文件中使用控制台和浏览器中的chai运行摩卡测试?
<!DOCTYPE html>
<html>
<head>
<title>Mocha Tests</title>
<link rel="stylesheet" href="node_modules/mocha/mocha.css">
</head>
<body>
<div id="mocha"></div>
<script src="node_modules/mocha/mocha.js"></script>
<script src="node_modules/chai/chai.js"></script>
<script>mocha.setup('bdd')</script>
<script src="test/chaiTest.js"></script>
<script>mocha.run();</script>
</body>
</html>
的chaiTest.js
文件continas这个简单的测试:
let assert = chai.assert;
describe('simple test',() => {
it('should be equal',() => {
assert.equal(1, 1);
});
});
当我现在请我的浏览器测试运行,结果正确显示。它工作正常。但是当我在控制台上运行mocha
时,它告诉我chai is not defined
。
所以要在控制台中使用这个工具,我只需在测试文件的第一行添加的require
。
let chai = require('chai');
现在的测试运行在控制台很好,但是当我在浏览器中执行测试,它告诉我,require
是undefined
。
我知道,这些错误在这里完全有意义!他们没有定义。但有没有办法用mocha
和chai
编写测试,并让它们在浏览器和控制台中执行?
我知道我可以为浏览器和控制台创建两个测试文件。但这很难保持。所以我想写一个测试文件,在两种环境下都能正确执行...