使用TDD创建Cucumber测试的Rails应用程序时,有一套可重用的步骤或方案可用于测试核心CRUD步骤的任何模型,这将是有用的。
我经常发现我支持最初的CRUD,然后在其上进行迭代,在我做之前测试核心功能会很好。
同样,这些步骤本身可以在处理任何定制功能时进行迭代。
这是否存在,或者是否有关于如何创建此类事物的指南?
感觉应该有一个发电机宝石。
除此之外,对于黄瓜初学者来说,这种事情可能非常有用,让他们了解一组好的步骤是什么样的。
答案 0 :(得分:0)
我不认为那里有宝石,但你可以通过以下步骤自己完成:
Then /^I create a "([^"]*)" with:$/ do |entity, table|
create_entity entity, table
end
def create_entity( entity, table)
table.rows_hash.each do |field, value|
fill_field_with field, value
end
end
并执行以下操作:
When I create a "User" with:
| Name | John |
| Last Name | Doe |
实施fill_field_with
可能有点棘手。首先,所有'实体'应该有统一的创建/编辑/销毁方式。为了填充字段本身,您必须考虑字段可以是复选框,选择和简单文本。对于大多数类型的领域,这是有效的:
Capybara::fill_in field, {:with => value, :match => :prefer_exact}
总结:这不是直截了当的,但它是可行的。