2013-12-13 37 views
2

當創建黃瓜測試Rails應用使用TDD這將是具有可重複使用的組的其可應用到測試核心CRUD步驟的任何模型的步驟或方案中很有用。DRY黃瓜腳手架CRUD步驟或場景

我經常發現我腳手架初始CRUD,然後在此基礎之上進行迭代,並且這將是很好的核心功能進行測試,直到我做。

同樣本身可能在迭代步驟來處理任何定製的功能,當它的加入。

這是否存在,或者是否有關於如何創建這種事情任何導遊?

感覺就像應該有這種發電機的寶石。

順便說這種事情可能是真的有用的黃瓜初學者給他們的有什麼好一系列步驟看起來像一個感覺。

回答

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} 

摘要:這不是直接的,但它是可行的。