ruby-on-rails – Cucumber:从表中选择一个元素进行删除或添加
发布时间:2020-12-17 02:59:18 所属栏目:百科 来源:网络整理
导读:我在使用 ruby on rails开发的应用程序中有下表: 我想在黄瓜中创建一个测试,我从表中选择一个用户并将其删除或编辑. 我不知道这个步骤的定义是什么. 我希望能够做到这样的事情: Feature: User Manegement In order to manage users As an admin I want to
我在使用
ruby on rails开发的应用程序中有下表:
我想在黄瓜中创建一个测试,我从表中选择一个用户并将其删除或编辑. 我不知道这个步骤的定义是什么. 我希望能够做到这样的事情: Feature: User Manegement In order to manage users As an admin I want to see a users list and change user properties Background: Given the following activated users exists | name | email | | Alice Hunter | alice.hunter@example.com | | Bob Hunter | bob.hunter@example.com | And the following user records | name | email | | Jonh Doe | jonh.doe@example.com | Scenario: I delete a user from the table Given I am logged in as admin When I follow "Administration" And I follow "User Management" And I delete "Alice Hunter" Then I should not see "Alice Hunter"` 有人可以帮忙吗? @brad 错误返回: wrong number of arguments (2 for 1) (ArgumentError) ./features/step_definitions/table_steps.rb:26:in `within' ./features/step_definitions/table_steps.rb:26:in `/^I delete "(.*)"$/' 解决方法
经过一番广泛的搜索和轻微的重构,我设法解决了这个问题.
我使用了以下步骤: When /^as admin I (press|follow|check|uncheck|choose) "([^"]*)" for (.*) whose (.*) is "([^"]*)"$/ do |action,whatyouclick,class_name,var_name,value| unless var_name == "id" then id = eval(""#{class_name}".classify.constantize.find_by_#{var_name}("#{value}").id.to_s") else id = value end within("tr[id=as_admin__#{class_name}-list-#{id}-row]") do case action when "press" click_button(whatyouclick) when "follow" click_link(whatyouclick) when "check" check(whatyouclick) when "uncheck" uncheck(whatyouclick) when "choose" uncheck(whatyouclick) end end end 我也对webrat的RDoc感兴趣,但我发现的一切似乎都不合时宜. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |