运行 启用 js 的水豚测试时不呈现 CKEditor

CKEditor is not rendered when running capybara tests with js enabled

由于某些原因 运行ning 水豚测试时,CKEditor 未在浏览器中呈现。在开发和生产模式下 - 一切正常。 CKEditor 是预编译的,带有 CKEDITOR_BASEPATH 的初始化部分也存在。页面上使用的所有其他 js 内容均正常工作。

我在我的应用程序中使用这个 gem - https://github.com/galetahub/ckeditor

CKEDITOR.replace('editor1'),当我从控制台 运行 它时,也隐藏了原始文本区域,但未显示编辑器(我在文本区域的地方只得到空的 space)。并且浏览器的控制台没有错误。

更新:

我用sinonhttps://github.com/travisjeffery/sinon-rails)来设置假时间:

window.clock = sinon.useFakeTimers(<%= Time.now.to_i * 1000 %>)

当我删除此代码时 - CKEditor 正常工作,但需要此代码才能使 js 和 ruby 时间相同。如何在不删除sinon的情况下使CKEditor正常工作?

发生这种情况是因为您可能在某处暂停 javascript 执行,因此未加载编辑器

您正在使用 sinon 进行某些使用,它使用延迟,因此您应该在开始渲染 ckeditor 之前或渲染 ckeditor 之后使用 sinon