RSpec 入門實戰
RSpec 入門實戰
使用 RSpec 測試 Ruby / Rails
關於本書
RSpec 是 Ruby 社群最多人使用的測試軟體(RubyGem),擁有簡潔富表達性的語法,完整豐富的測試功能支援。解決手動測試的困擾,節省時間,節省心力,現在就開始學怎麼使用 RSpec 來進行自動化測試吧!
目錄
-
1. 前言
- 1.1 我是誰
- 1.2 本書要求
- 1.3 關於本書
-
2. RSpec 介紹
- 2.1 前言
- 2.2 測試好處(或是壞處?)Q & A
- 2.3 測試的分類
- 2.4 測試的指標
- 2.5 一些術語
- 2.6 RSpec
-
3. RSpec 安裝
- 3.1 安裝 Ruby
- 3.2 安裝 RSpec
- 3.3 rspec
- 3.4 rspec-core
- 3.5 rspec-expectations
- 3.6 rspec-mocks
- 3.7 用 Bundler 安裝 RSpec
- 3.8 RSpec 安裝(Rails 專案)
-
4. RSpec 設定
- 4.1 .rspec
-
4.2
spec/spec_helper.rb
- 4.3 重要設定一覽
-
5. RSpec 入門
- 5.1 describe it!
- 5.2 it
-
5.3 RSpec 的
describe
方法 -
5.4 RSpec 的
context
方法 - 5.5 RSpec 的 Monkey Patch
- 5.6 expect(actual).to(matcher)
- 6. 簡單的 RSpec 示範:「HTML 標籤產生器」
-
7. 羅馬數字 Kata 測試練習
- 7.1 練習一:十進位轉羅馬
- 7.2 練習二:羅馬轉十進位
- 7.3 前置作業
- 7.4 提示與解答
- 7.5 其它
-
8. Model Spec
- 8.1 命名慣例
- 8.2 檔案結構
- 8.3 輔助工具
- 8.4 要測什麼
- 8.5 測關聯
- 8.6 測驗證
- 8.7 測 Scope、類別方法、實體方法
- 8.8 測試 Callback
- 8.9 可以測 Constant
- 8.10 不要測試私有方法
- 8.11 私有方法太長怎麼辦?
- 8.12 不要測試 Ruby & Rails & Gem 內建的方法
- 8.13 延伸閱讀
-
9. 假資料
- 9.1 Faker
- 9.2 仿造任何 Object
- 9.3 讀取資料作為假資料
- 9.4 Fixture
- 9.5 Factories
-
10. FactoryGirl 介紹
- 10.1 安裝
- 10.2 FactoryGirl 基本設定
- 10.3 定義 Factory
- 10.4 使用 Factory
- 10.5 一個 Model 一個 Factory
- 10.6 最小合法物件
- 10.7 Factory 檔案擺放位置
- 10.8 基本用法
- 10.9 惰求值屬性
- 10.10 相依屬性
- 10.11 順序屬性
- 10.12 關聯
- 10.13 Trait 和繼承
- 10.14 一次建多個物件
- 10.15 has_many 關聯
- 10.16 除了 Factory Girl 之外的選擇
- 10.17 官方文件
-
11. Controller Spec
- 11.1 命名慣例
- 11.2 RESTful actions
- 11.3 Controller 要測什麼
- 11.4 測試 Response
- 11.5 測試 Redirect
- 11.6 測試 Flash
- 11.7 Base Controller 測試
- 11.8 測試 Strong Parameters
-
12. Job Spec
- 12.1 命名慣例
- 12.2 檔案結構
- 12.3 要測什麼
- 12.4 延伸閱讀
-
13. Mailer Spec
- 13.1 命名慣例
- 13.2 檔案結構
- 13.3 要測什麼
-
13.4
ApplicationMailer
- 13.5 延伸閱讀
-
14. Feature Spec
- 14.1 命名慣例
- 14.2 輔助工具
- 14.3 資料庫重置
-
15. 範例測試專案:Hacker News Clone
- 15.1 安裝及設定 RSpec
- 15.2 安裝及設定 Capybara
- 15.3 使用者可以投稿一個連結
- 15.4 Link 有分數
- 15.5 可以 +1 分
- 15.6 簡單的投稿驗證
- 15.7 設定 Travis CI
- 15.8 Controller Spec 的測試例子
- 15.9 ExampleGroup
- 15.10 Example
- 15.11 ExpectationTarget
- 15.12 Matcher
-
16. 階段性測試
- 16.1 Setup
- 16.2 Run
- 16.3 Verify
-
17. 開源專案
- 17.1 使用 RSpec 的 Ruby 專案
- 17.2 使用 Minitest 的 Ruby 專案
- 17.3 使用 RSpec 的 Rails 專案
- 17.4 使用 Minitest 的 Rails 專案
- 17.5 RubySpec
-
18. 持續集成
- 18.1 使用方式
- 18.2 持續集成服務列表
- 18.3 如何使用 CI
- 18.4 CI 跑測試的流程
- 18.5 如何使用 CI 服務
- 18.6 Travis CI
-
19. 推薦閱讀
- 19.1 測試知名人物
- 19.2 值得看的演講
- 19.3 值得看的影片
- 19.4 參考書籍
- 19.5 相關網站
-
20. 術語用語表
- 20.1 術語
- 20.2 用語
- 20.3 Flakey = Flaky
- 20.4 Fragile
- 20.5 intermittenly
- 20.6 Sporadic Failure
- 20.7 uncanny
- 20.8 Superfluous
- 20.9 AAA
- 20.10 GWT
- 20.11 Squint Test
- 20.12 Terse
- 20.13 London-school TDD
- 20.14 Mockist
- 20.15 GOOS
- 20.16 Discovery testing
- 20.17 Haphazard Mocking
- 21. 隨機執行測試
Leanpub 60天 100% 滿意保證
在購買後的 60 天內,您可以透過 兩次點擊 獲得任何 Leanpub 購買項目的 100% 退款。
技術上來說,這對我們是有風險的,因為無論如何您都會擁有書籍或課程檔案。但我們對我們的產品和服務,以及我們的作者和讀者都充滿信心,因此我們很樂意為所有銷售的內容提供全額退款保證。
只有親自嘗試才能知道某樣東西是否真的好,而且因為我們提供 100% 退款保證,所以這完全沒有風險!
所以,還有什麼理由不點擊「加入購物車」按鈕呢?
查看完整條款...
在10美元的購買中賺取8美元,在20美元的購買中賺取16美元
對於7.99美元或以上的購買,我們支付80%版稅,對於0.99至7.98美元之間的購買,我們支付80%版稅減去0.50美元固定費用。在10美元的銷售中您可賺取8美元,在20美元的銷售中可賺取16美元。因此,如果我們以20美元售出5000本不退款的圖書,您將賺取80,000美元。
(是的,一些作者在Leanpub上已經賺取了遠超過這個數額的收入。)
事實上,作者們通過在Leanpub上寫作、出版和銷售已經賺取了超過1400萬美元。
了解更多關於在Leanpub上寫作的信息
免費更新。無 DRM 限制。
當您購買 Leanpub 的書籍時,只要作者更新書籍內容,您就能永久免費獲得更新!許多作者在寫作過程中會使用 Leanpub 發布他們的在製書籍。所有讀者都能獲得免費更新,無論他們何時購買書籍或支付多少金額(包括免費)。
大多數 Leanpub 書籍提供 PDF(適用於電腦)和 EPUB(適用於手機、平板電腦和 Kindle)格式。在本頁面右上角會顯示該書提供的格式。
最後,Leanpub 的書籍沒有任何 DRM 複製保護機制,因此您可以在任何支援的設備上輕鬆閱讀。