0

我在使用tokenInput jQuery 插件的 Rails 应用程序中有一个表单。为了测试表单,我添加了 poltergeist 作为 js 驱动程序并添加js: true到规范中。但是,一旦我在任何给定规范上启用了 javascript,该click_button操作就什么也不做。我puts在控制器的第一行放置了一个,它永远不会被执行。

该表单作为浏览器中的用户可以正常工作,并且测试在没有js: true. 但是,如果没有启用 javascript,我将无法练习该tokenInput领域。

没有错误信息;如果我的测试很简单:

spec 'test something', js: true do
  visit new_projects_path
  click_button 'Create Project'
end

它通过了;但是,永远无法到达控制器。

每次我使用 poltergeist 运行规范时都会收到这些警告:

2013-11-05 07:39:42.087 幻影 [5629:507] *警告:类 NSView 中的方法 userSpaceScaleFactor 在 10.7 及更高版本中已弃用。它不应该在新的应用程序中使用。使用 convertRectToBacking: 代替。2013-11-05 07:39:42.502 phantomjs[5629:507] CoreText 性能说明:客户端使用名称“Times New Roman”调用 CTFontCreateWithName(),并使用 PostScript 名称“TimesNewRomanPSMT”获取字体。为获得最佳性能,调用此 API 时仅使用 PostScript 名称。2013-11-05 07:39:42.502 phantomjs[5629:507] CoreText 性能说明:在 CTFontLogSuboptimalRequest 上设置断点以进行调试。2013-11-05 07:39:42.588 phantomjs[5629:507] CoreText 性能说明:客户端使用名称“Times New Roman”调用 CTFontCreateWithName(),并使用 PostScript 名称“TimesNewRomanPSMT”获取字体。为了获得最佳性能,调用此 API 时仅使用 PostScript 名称。2013-11-05 07:39:42.590 phantomjs[5629:507] CoreText 性能说明:客户端使用名称“Times New Roman”调用 CTFontCreateWithName(),并使用 PostScript 名称“TimesNewRomanPSMT”获取字体。为获得最佳性能,调用此 API 时仅使用 PostScript 名称。

我还尝试了 capybara-webkit 的规格,它每次单击表单按钮时都会死得很惨。它也从未击中控制器。

这是代码ProjectsController#new

= form_for project do |f|
  %div.row
    %div.large-3.columns
      %label
        %strong Name: 
    %div.large-6.columns
      = f.text_field :name, { placeholder: "Name" }
    %div.large-3.columns
  %div.row
    %div.large-3.columns
      %label
        %strong Description: 
    %div.large-6.columns
      = f.text_area :description, { placeholder: "Description", class: "long" }
      %aside.instruction
        This field accepts Markdown formatted text
    %div.large-3.columns
  %div.row
    %div.large-3.columns
      %label
        %strong Short Description:
    %div.large-6.columns
      = f.text_area :short_description, { placeholder: "Short Description", class: "short"}
    %div.large-3.columns
  %div.row
    %div.large-3.columns
      %label
        %strong Source:
    %div.large-6.columns
      =f.text_field :source, { placeholder: "Link to source or \"Closed\"" }
    %div.large-3.columns
  %div.row
    %div.large-3.columns
      %label
        %strong Technologies:
    %div.large-6.columns
      = f.text_field :technology_tokens, data: { load: @project.technologies }
    %div.large-3.columns
  %div.row
    %div.large-6.large-centered.small-6.small-centered.columns
      = f.submit

Ruby 2、Rails 4、OS X Mavericks

4

1 回答 1

0

我切换回 capybara-webkit,这次它工作了。我不相信我改变了什么;有可能更新了一些东西,这是一个短暂的不兼容?

我很确定这些警告是 Qt 的事情。他们最近开始出现在所有人面前。我只是想我会把它们包括在内,以防我遗漏了它们里面的东西。

于 2013-11-07T02:54:46.447 回答