我正在使用 Mocha/Chai/Chai-jquery 来测试用 Jquery 编写的代码。尽管我在 HTML 中包含了 jquery 和 chai-jquery,但当我运行此测试时:
it("is focused", function () { expect($("#movie")).should.have.focus();});
Run Code Online (Sandbox Code Playgroud)
使用 chai-jquery 的断言:
(expect = require('chai-jquery').expect)
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
TypeError: expect(...).should.have.focus is not a function
Run Code Online (Sandbox Code Playgroud)
那么我如何设置它以使用 Chai-jquery 的断言,如此处所示?这是我的代码:
html:
<body>
<div id="mocha"></div>
<script src="node_modules/mocha/mocha.js"></script>
<script src="node_modules/jquery/src/jquery.js"></script>
<script src="node_modules/chai/chai.js"></script>
<script src="node_modules/chai-jquery/chai-jquery.js"></script>
<script>
mocha.ui('bdd');
mocha.reporter('html');
var expect = chai.expect;
</script>
<script src="script.js"></script>
<script src="test.js"></script>
<script>
{ mocha.run(); }
</script>
<input id="movie"/>
</body>
Run Code Online (Sandbox Code Playgroud)
脚本.js:
$(document).ready(function() {
$("#movie").focus();
//etc
});
Run Code Online (Sandbox Code Playgroud)
测试.js:
var jsdom = require('jsdom');
var document = …Run Code Online (Sandbox Code Playgroud)