2016-01-15 112 views
0

我試圖將我的依賴加載到JSDom環境中,然後執行基本測試。在異步摩卡測試中配置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

+0

也許路過'callback'到jsdom你定義它之前? – cviejo

+0

在'jsdom(html,scripts,callback)'的調用之上被掛起。如果我將上面的回調移動,那麼同樣的問題。 –

回答

1

您正在導入jsdom.jsdom,但使用的語法爲jsdom.env(它確實將回調作爲第三個參數)。改變這一行:

import { jsdom } from 'jsdom'; 

要:

import { env } from 'jsdom'; 
相關問題