tl; dr如何在PhantomJS中刪除此錯誤?只有在運行PhantomJS時獲取失敗的測試(TypeError)
回購
參考回購:https://github.com/Sawtaytoes/Tabletop-Helper/tree/d123927b8f65fc97234fd2543bf9103ac0db58ab
運行yarn test
。
問題
當運行Chrome的這些相同的測試VS PhantomJS,我看到錯誤顯示相關的捆綁的WebPack,我這樣想着。
錯誤
TypeError: undefined is not a constructor (evaluating '__WEBPACK_IMPORTED_MODULE_3_content_smash_up_decks__["a" /* sets */].find(function (set) { return title === set.title; })')
代碼
sets
.find(set => title === set.title)
.decks
.reduce((combined, { title }) => ({ ...combined, [title]: setState }), {})
混亂
尤其是行的突破是sets.find()
。如果我放棄它並使其成爲sets[0]
,它就會起作用。在註銷sets.find()
的值時,它總是返回一個匹配的數組,因爲測試被寫入傳遞一個有效的集合標題。
另外兩個有類似錯誤的測試也參考sets.find()
。這個PhantomJS不喜歡的功能是什麼?
此外,您還可以使用PhantomJS的更新版本(此版本的測試版本)[2.5版本](https://bitbucket.org/ariya/phantomjs/downloads/),該版本中包含更多的現代Webkit引擎。 – Vaviloff