2016-05-03 13 views
5

私は、単純な冗談のテストがあります:私はいくつかのモジュールなどを必要としていますJestテストでは、ウィンドウオブジェクトはどこから来たのですか?

describe('test', function() { 
    beforeEach(function() {}); 
    it('test', function() { 
    console.log(window.document); //a real or nearly real document 
    }); 
}); 

をブートストラップ - ウィンドウオブジェクトにドキュメントオブジェクトを提供するようなものはありません。

私の質問は - who /このウィンドウ(およびwindow.document)オブジェクトを提供していますか?ウィンドウオブジェクトはブラウザウィンドウと似ていますが、1つまたは2つのメソッドがありません。しかし、私は誰がそれを提供しているのか見ていない。私はnode.jsとwebpackについて十分に知りません(テストはwebpackで構築されています)。

ReactDOMではありません。それは冗談ですか?またはノードですか?

答えて

7

速い点検では、私はそれがjsdomだと思う。 thisブログの記事に基づいて

それは、シンプルな標準およびスタンドアロンです(JSDomに基づいており、ジャスミンのトップ 上に構築)。 jest repositorypackage.jsonを見ると

"dependencies": { 
    "chalk": "^1.1.1", 
    "cover": "^0.2.9", 
    "diff": "^2.1.1", 
    "graceful-fs": "^4.1.3", 
    "istanbul": "^0.4.2", 
    "jest-environment-jsdom": "^12.0.2", 
    "jest-environment-node": "^12.0.2", 
    "jest-haste-map": "^12.0.2", 
    "jest-jasmine1": "^12.0.2", 
    "jest-jasmine2": "^12.0.2", 
    "jest-mock": "^12.0.2", 
    "jest-util": "^12.0.2", 
    "json-stable-stringify": "^1.0.0", 
    "lodash.template": "^4.2.4", 
    "mkdirp": "^0.5.1", 
    "optimist": "^0.6.1", 
    "resolve": "^1.1.6", 
    "sane": "^1.2.0", 
    "which": "^1.1.1", 
    "worker-farm": "^1.3.1" 
    }, 
+0

それはjsdomです。ありがとう。 –

関連する問題