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