我正在開發一個Ruby gem,這個Ruby gem的目的是作爲一個庫或API(沒有CLI)用於另一個Ruby/Rails應用程序。用黃瓜編寫Ruby gem的規範
我打算使用Cucumber/Rspec在BDD概念中使用外部開發這個gem。在編寫Cucumber特性之前,我做了一些研究,並觀察到Cucumber主要用於指定gems的用戶界面,而不是用於指定API。讓我知道你將使用哪種工具來處理這種情況,以及如何使用它。
我正在開發一個Ruby gem,這個Ruby gem的目的是作爲一個庫或API(沒有CLI)用於另一個Ruby/Rails應用程序。用黃瓜編寫Ruby gem的規範
我打算使用Cucumber/Rspec在BDD概念中使用外部開發這個gem。在編寫Cucumber特性之前,我做了一些研究,並觀察到Cucumber主要用於指定gems的用戶界面,而不是用於指定API。讓我知道你將使用哪種工具來處理這種情況,以及如何使用它。
通常,Cucumber規範涵蓋了軟件的高級使用場景,RSpec涵蓋了較低級別的類的接口。
當您希望讓非技術性客戶/產品所有者幫助您編寫驗收測試時,Cucumber非常有用 - 您可以使用Cucumber爲他們構建業務可讀的DSL。
就您的程序(gem)的客戶是程序員而且您不提供任何用戶界面(僅限API),您可以使用RSpec並且不要添加Cucumber。 RSpec規範將涵蓋您的API的所有公共方法,並將爲該寶石提供良好的規範。
如果您想覆蓋產品的複雜使用場景(當用戶調用多個方法來實現結果時),添加Cucumber規範可能會很有用,但您也可以使用RSpec編寫高級別測試。
摘要:對於寶石發展黃瓜看起來像一個矯枉過正,我會只用RSpec的開始。