2014-02-07 22 views
0

「結構」我有一個末日應用結構如下:測試一西納特拉的應用程序使用RSpec - 測試

controllers 
helpers 
models 
views 
public 

我會用RSpec的測試它。對於我來說,有兩種測試方式 - 用Rack :: Test :: Methods進行測試 - 檢查響應,主體內容等,其次 - 測試「核心」邏輯 - 例如,如果方法「find_most_expensive」確實以最高價格返回商品,以檢查是否真的創建了新產品以及該類商品。

我想知道的是如何在spec文件夾中組織這些測試?我應該只有name_of_controller_spec.rb文件和兩種測試去那裏?還是應該分開?如何?總之,我從來沒有寫測試,我不知道如何以及如何把它們:(任何類型的建議,將不勝感激!:)

回答

1

你可以只做三個文件夾:controllers(with,for例如,posts_spec.rb),models(其中包含post_spec.rb,其中測試您在模型中實施的方法)和helpers(比如說utils_spec.rb)。

看看Testing Sinatra with Rack::Test和GitHub上的一些存儲庫,以更好地瞭解如何組織代碼。

0

https://pragprog.com/book/7web/seven-web-frameworks-in-seven-weeks

的源代碼是免費的,它有西納特拉測試的一章。 我知道,我只是在更新預期而不是應該棄用警告時運行它們。 只有他們使用shell腳本進行測試,但您可能已經熟悉了您要使用的內容。關鍵是注意文件夾的不同名稱而不是測試?也許可以爲你工作。我喜歡首先發布的答案。這些可能都涉及。

我已經注意到Rubocop的一些事情是保持您的測試方法只有25行或者他們在那裏失敗。所以我會說,讓他們分成小組。

Ruby koans有測試,你也可以看看。