2017-08-23 7 views
0

私は冗談のテストコード(ストリップダウン、この問題のために)非常にシンプルJS機能これにJestはinsertAdjacentElementを処理できませんか?

export function displaySpinner() { 
    const loadingOverlayDOM = document.createElement('DIV'); 
    const spinner   = document.createElement('IMG'); 

    loadingOverlayDOM.id  = 'overlay-spinner'; 
    loadingOverlayDOM.className = 'content-overlay'; 
    spinner.className   = 'is-spinning'; 
    spinner.setAttribute('src', '/assets/img/svg/icons/spinner.svg'); 
l loadingOverlayDOM.insertAdjacentElement('beforeend', spinner); 
    document.body.insertAdjacentElement('beforeend', loadingOverlayDOM); 
} 

をテストしたい:

test('displaySpinner displays the spinner overlay in the current page',() => { 
    utils.displaySpinner(); 
}); 

しかし、テストの実行は、私に叫ぶ:

FAIL app/helper/utils.test.js 
● utils › displaySpinner displays the spinner overlay in the current page 

TypeError: loadingOverlayDOM.insertAdjacentElement is not a function 

    at Object.displaySpinner (app/helper/utils.js:185:439) 
    at Object.<anonymous> (app/helper/utils.test.js:87:15) 
    at Promise.resolve.then.el (node_modules/p-map/index.js:42:16) 
    at process._tickCallback (internal/process/next_tick.js:109:7) 

これはJestのエラーですか、何か不足していますか?

答えて

0

私は最終的に自分自身を答えた:

冗談はまだinsertAdjacentElementthis issue on GitHub and it's referencesを参照)DOM機能をサポートしていませんjsdomを使用しています。だから私はjsdomがそれを実装するまで待たなければならないか、JSの別のメソッドを使う必要があります。

関連する問題