在启用js的情况下运行capybara测试时,不会渲染CKEditor

时间:2016-06-11 21:18:18

标签: javascript ruby-on-rails rspec ckeditor

由于某种原因运行capybara测试时,CKEditor不会在浏览器中呈现。在开发和生产模式 - 一切都很好。 CKEditor是预编译的,同时存在CKEDITOR_BASEPATH的init部分。页面上使用的所有其他js东西都能正常工作。

我在我的应用中使用了这个宝石 - https://github.com/galetahub/ckeditor

CKEDITOR.replace('editor1'),当我从控制台运行它时,也隐藏了原始textarea,但是没有显示编辑器(我在textarea的地方只得到空白空间)。浏览器的控制台没有错误。

更新

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

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

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

1 个答案:

答案 0 :(得分:3)

这种情况正在发生,因为你可能在某处暂停了javascript执行,因此没有加载编辑器

你正在使用sinon进行一些使用,它使用延迟,所以你应该在开始渲染ckeditor之前使用sinon,或者在渲染ckeditor之后使用sinon