问题 #959💬 已回答提出于 2018年3月16日作者 tommedema1 个反应

由于竞态条件,'开发'分支间歇性测试失败

快速解答作者 tommedema1

我有一阵子没见过这个了。暂时关闭。

阅读下方完整回答 ↓

问题

我建议在“package.json'的”test“中,在”mocha“命令后加上”--bail“,这样更容易看清,例如: 在最新的“开发”分支中,只需多次运行“npm test”即可轻松复现: 迟早你会得到: 如果你在第74行的“test/specs/selector_manager/e2e/ClassManager.js”中“跳过这个测试,这个问题似乎会消失: 当然,这不是解决办法。但这可能说明了根本问题所在。看起来像是某种比赛条件。 如果你评论事件听众的“编辑/建模/Editor.js”,这个标签也会消失: 也许模块还没完全加载,已经有变更需要处理?结果是 'const wrp = this.get('DomComponents').getComponent();' 在 'Editor.js' 的第 308 行被抛出。 我们是否应该等所有模块加载完毕再连接事件监听者?

回答(3)

tommedema2018年4月12日

我有一阵子没见过这个了。暂时关闭。

artf2018年3月17日

我们是否应该等所有模块都加载完再绑定事件听众?

嗯,那段代码是同步运行的,我觉得它帮不上忙

顺便说一句,我以前在工作环境中🤔从未遇到过这个问题

tommedema2018年3月17日

@artf这里很容易复现。试着像上面建议的那样反复运行。 这里有证据: ![无题-3](https://user-images.githubusercontent.com/331833/37559350-9d6e69f2-2a24-11e8-8b45-7c163b4043c0.gif) 我的环境: OSX 高峰塞拉 10.13.3 Node.js v9.2.1 最新强奸开发分支提交 #e6593e7ad9a 不知为何,'this.get('DomComponents'''' 在 'editor/model/Editor.js' 中应该返回第 308 行的封装器时,却返回了 null

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

直接跳转到市场上的插件分类页面。