Amm*_*mma 5 jquery unit-testing mocha.js assertion chai
我正在使用 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 = jsdom.jsdom("");
var window = document.defaultView;
global.window = window
global.$ = require('jquery');
var assert = require('chai').assert,
expect = require('chai').expect,
should = require('chai').should();
describe("Search input test", function () {
it("is in the DOM", function () {
expect(searchInput).to.not.equal(null);
}); // pass
it("is a child of the body", function () {
expect(searchInput.parentElement).to.equal(window.body);
}); //pass
it("is focused", function () {
expect($("#movie")).should.have.focus();
}); // TypeError: expect(...).should.have.focus is not a function
Run Code Online (Sandbox Code Playgroud)
});
| 归档时间: |
|
| 查看次数: |
1227 次 |
| 最近记录: |