Javascript 未在JSDOM Env块内执行Chai断言
我刚刚开始用和编写前端单元测试。当我试图遵循基于这些的教程时,即使我将它们设置为失败,我也能通过测试。其他一切都已设置好,并按预期工作Javascript 未在JSDOM Env块内执行Chai断言,javascript,mocha.js,chai,jsdom,Javascript,Mocha.js,Chai,Jsdom,我刚刚开始用和编写前端单元测试。当我试图遵循基于这些的教程时,即使我将它们设置为失败,我也能通过测试。其他一切都已设置好,并按预期工作jQuery、setup.js、window等。唯一的问题是,我的断言根本没有在jsdom env块内执行 这是我的测试: var chai = require('chai'), expect = chai.expect, jsdom = require('jsdom'), fs = require('fs'), jquery =
jQuery、setup.js、window
等。唯一的问题是,我的断言根本没有在jsdom env块内执行
这是我的测试:
var chai = require('chai'),
expect = chai.expect,
jsdom = require('jsdom'),
fs = require('fs'),
jquery = fs.readFileSync('./js/vendor/jquery-3.0.0.min.js', 'utf-8');
describe('UI DOM tests', function () {
it('should fail', function () {
// simple html
var htmlFragment = fs.readFileSync('./test/runner.html');
jsdom.env({
html: htmlFragment,
src: [jquery, '../node_modules/chai/chai.js'],
done: function (err, window) {
var $ = window.$;
expect(true).eql(false); // nothing happens
done();
}
});
expect(true).eql(false); // assert fails as expected
});
});
非常感谢您的帮助。您的
it
中似乎缺少了done
参数:
it('should fail', function (done) {
否则,mocha会认为您的
it
是同步的,并在创建jsdom环境之前完成。您的it
中似乎缺少了done
参数:
it('should fail', function (done) {
否则,mocha会认为您的
it
是同步的,并在创建jsdom环境之前完成。谢谢,伙计,这就是问题所在。我真的浪费了很多时间调试,但没有考虑到这一点。谢谢,伙计,这就是问题所在。我真的浪费了很多时间调试,但没有考虑到这一点。