我正在尝试将依赖项加载到 JSDom 环境中,然后执行基本测试。
当我使用 mocha 运行此文件时,它告诉我已超出最大超时 2000 毫秒。
// Node Dependencies
import { readFileSync } from 'fs';
// NPM Dependencies
import { expect } from 'expect';
import { jsdom } from 'jsdom';
// JSDom Configuration
const html = '<!doctype html><html><body></body></html>';
const dep1 = readFileSync("./dep1.js", "utf-8");
const dep2 = readFileSync("./dep2.js", "utf-8");
const scripts = [ dep1, dep2 ];
describe('App Actions', function(){
it('sample test', function(done){
// Use JSDom to mock a browser environment,
// loading the necessary scripts, then executing the callback.
jsdom(html, scripts, callback);
function callback(err, window){
expect(false).toEqual(true);
done();
}
});
});
有什么想法吗?
我认为这与 jsdom 有关,因为如果我将回调更改为如下所示:
function callback(err, window){
console.log(window);
expect(false).toEqual(true);
done();
}
它从不运行console.log
。
最佳答案
您正在导入 jsdom.jsdom
,但使用 jsdom.env
的语法(它确实需要回调作为第三个参数)。更改此行:
import { jsdom } from 'jsdom';
致:
import { env } from 'jsdom';
关于javascript - 在异步 Mocha 测试中配置 JSDom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34802512/