如何在页面顶部包含javascript_include_tag的javascript以进行水豚测试
我试图用capybara在spec测试中测试一个javascript类。 我有静态页面player.haml,我在其中使用javascript_include_tag加载javascript类定义。 它看起来像那样
.container = javascript_include_tag "../player" #player
我的测试看起来像那样
it 'can autoplay a video' do visit player_path video = Fabricate(:video) options = { autoplay: true, ... } page.execute_script("var options = '#{options}'; videoId = '#{video.id}'; var player = new Player(videoId, options);") expect(page).to have_content(video.title) end
问题是javascript_include_tag包含页面底部的脚本和execute_script调用之后的脚本。 我在访问该页面后尝试了睡眠,但结果是一样的。 如何在使用execute_script之前加载类定义? 最终的瓶颈是具有播放器定义的文件是.coffee.erb。 我可以更改,因为它使用应用程序中的一些设置。
- NoMethodError:在rails控制台中运行capybara测试时未定义的方法`color_enabled =’
- RSpec :: ExampleGroups :: User :: Validations的未定义方法`validate_presence_of’
- attach_file与capybara-webkit的工作方式不正确
- 在尝试模拟按时,Capybara:NotSupportedByDriverError
- 运行规范时出现的描述性错误,取决于种子
- Rspec测试应该通过但是失败
- MiniTest,Capybara,Fixture,Database_Cleaner第二次不通过
- 如何在集成测试中编写用于签署用户的快捷方式?
- Capybara + Selemium:如何在集成测试代码中初始化数据库并使其在Rails应用程序中可见?