2012-10-31 48 views
5

我們有一個獨立的測試自動化團隊,負責自動化watir + cucumber功能測試用例。他們的代碼庫沒有附帶其他開發人員正在開發的rails應用程序,但保持獨立。到目前爲止,我們已經自動完成了幾個測試用例,現在我們遇到了什麼問題,有些(watir/cucumber specs)測試用例需要一些數據預先存入數據庫,所以它(testcase)應該只關注問題語句,而不是創建任何數據需求本身。黃瓜數據工廠watir

例子,比如說如果有檢查評價是否工作後,它需要一個帖子對象應該預先存在,它只是檢查的評級。而不是創建1st post對象,然後檢查其評級。

這裏最好的辦法是什麼?就像我們有固定裝置和工廠女孩進行鐵路單元測試一樣,黃瓜規格有什麼?或者我們只能在這裏使用功能?這些測試人員可能不知道所有存在的模型,他們是否知道它們,以便通過調用Rails-Model接口來使用fixture。

我的想法是,當我們寫功能的文件,它不應該指向或談論它看起來元的東西任何模型。 Watir/specs測試用例只應該知道「Web應用程序」/瀏覽器僅作爲交談/處理應用程序的接口。他們不應該知道任何其他接口(夾具/模型)。因此,他們應該通過使用他們知道的單一界面自行創建自己的數據。

再有,我想知道是什麼,是否有任何紅寶石的lib /代碼,指定表名,列名和值(所有最喜歡的燈具陽明海運),使用DB參數一起。它將簡單地將它們插入到數據庫中,而沒有rails環境的上下文。因此,測試人員將他們的環境與rails隔離開來,web開發人員可以獨立工作。 Rails夾具或工廠女孩似乎與導軌配合良好。還是我不正確?

+0

但是誰說工廠女郎只是爲了rspec?它也適用於cucs。 http://collectiveidea.com/blog/archives/2010/09/09/practical-cucumber-factory-girl-steps/ – Chirantan

回答

1

就像Chirantan說,你可以使用工廠女孩黃瓜。 由於在測試單元或RSpec中需要您的工廠,您可以在黃瓜的env.rb文件或任何自定義配置文件中執行相同的操作。

http://robots.thoughtbot.com/post/284805810/gimme-three-steps

http://www.claytonlz.com/2010/03/zero-to-tested-with-cucumber-and-factory-girl/

http://www.andhapp.com/blog/2009/11/07/using-factory_girl-with-cucumber/

+0

如果我可以使用工廠女孩,那麼爲什麼不夾具?對? –

+1

是的,你也可以使用燈具。 – hindenbug

-1

當使用黃瓜,給定的語句將測試情況了:

Given I have a basic user with a password 

和當語句觸發測試:

When the user logs in 

和當時語句檢查的測試結果

Then they see the basic menu 

得到的數據在給定語句加載。

+0

它爲測試開始之前的環境做好準備。鑑於我身高7英尺,當我走過門口時,我應該撞上我的頭。在測試開始前,給定的尺寸讓我有7英尺高。什麼時候走過門口。然後確保我碰到我的頭。如果我不是7英尺高,我無法進行測試。理想情況下,這將是對數據庫的調用,以使用戶存在並且高7英尺。設置通常稱爲測試先決條件。使用rspec,通常是before:each或before:all。在test:unit中,它是一個setup()。 –