【问题标题】:cucumber test for ruby-1.9.2 and mongoid-2.0.0ruby-1.9.2 和 mongoid-2.0.0 的黄瓜测试
【发布时间】:2011-04-04 11:38:18
【问题描述】:

我真的很难过。我正在使用黄瓜测试来访问链接。我正在使用泡菜网络步骤

When I go to the post comment's new page

它似乎不起作用。我也试过I am on the post comment's new page,但这也行不通。错误是stack level too deep。但是,当我编写自己的自定义步骤时,测试通过了。为每一页写步骤太累了。有没有人遇到过类似的问题?

【问题讨论】:

    标签: ruby-on-rails-3 cucumber bdd mongoid ruby-1.9.2


    【解决方案1】:

    我看到了完全相同的错误,但通过替换 features/step_definitions/paths.rb 中的以下自动生成的 pickle 路径帮助程序设法摆脱它

    when /^#{capture_model}(?:'s)? (.+?) page$/
      path_to_pickle $1, :extra => $2
    

    我自己的:

    when /^#{capture_model}(?:'s)? (.+?) page$/
      polymorphic_path(model($1), :action => $2)
    

    【讨论】:

    • 好吧...但我想做的是使用泡菜本身的步骤。有什么方法我不必编写自定义步骤?如果我用 polymorphic_path 替换 path_to_pickle 会有什么问题吗?那么嵌套路由呢?
    • 如何为“帖子评论的新页面”编写 polymorphic_path。我尝试了“polymorphic_path(model($1, $2), :action => $3)”,但出现“参数数量错误”错误。注释也是新的,它会给出“NilClass:Class 的未定义方法 `model_name'”错误。
    • polymorphic_path(model!($1), model!($2), :action => $3) 之类的东西应该可以工作。我会使用 bang 模型方法来确保模型存在以避免将无效参数传递给polymorphic_path
    【解决方案2】:

    我只是换了:

    path_to_pickle $1, :extra => $2
    

    与:

    path_to_pickle $1, :action => $2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      • 1970-01-01
      • 2016-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多