Tag: capybara webkit

为什么即使我删除了application.js文件,Capypara + Rspect测试仍然通过?

我有rails应用程序,并在application.js文件中有一些ajax调用。 O有rspec,capybara,webkit,factorygirl和databasecleaner进行测试。 我写了所有通过的function测试。 然后不小心删除了application.js文件并运行测试,它们仍然通过。 请帮我找出原因。 非常感谢。 PS:如果你请问我的问题,请至少告诉我原因。 我一直在寻找答案但找不到答案。

检查为什么ruby脚本挂起

有时我的规格可能会挂起,我必须杀死相应的ruby进程。 当我运行用capybara和webkit驱动程序编写的集成规范时,这很常见。 是否可以检查给定的ruby过程并查看它挂在哪里? 哪种方法,操作,文件,行号等

为什么在后钩中添加“sleep 1”会导致此Rspec / Capybara测试通过?

我使用的是rails 4.0.5,rspec 2.14.1,capybara 2.2.1,capybara-webkit 1.1.0和database_cleaner 1.2.0。 我通过以下function测试看到一些奇怪的行为(模拟用户在post上查看评论,将鼠标hover在图标上以显示菜单,然后单击菜单项以删除评论): let(:user){create(:user)} let(:post){create(:post, author: user)} let!(:comment){create(:comment, post: post, author: user)} … it “can delete a comment” do assert(page.has_css? “#comment-#{comment.id}”) find(“#comment-#{comment.id}-controls”).trigger(:mouseover) find(“#comment-#{comment.id} .comment-delete a”).click assert(page.has_no_css? “#comment-#{comment.id}”) end 这个测试大约80%的时间都失败了,总是由于某些记录从数据库中检索为nil – 我得到NoMethodError: undefined method X for nil:NilClass ,对于各种X值。有时nil是正在评论的删除,有时它是评论附加的post,有时它是评论/post的作者。 如果我在测试结束时添加sleep 1 ,它会通过: it “can delete its own comment” do assert(page.has_css? “#comment-#{comment.id}”) find(“#comment-#{comment.id}-controls”).trigger(:mouseover) find(“#comment-#{comment.id} […]