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 100% 無風險的滿意保證
在付款後的 60 天內,只要點擊兩下,你就可以退書並獲得全額退款。退書是手工操作的,所以可能需要幾天時間來完成整個過程。
查看完整條款.
在$10的購買中賺$8,在$20的購買中賺$16
我們在$7.99或以上的購買中支付80%的版稅,並在$0.99至$7.98的購買中支付80%的版稅減去50美分的固定費用。在$10的銷售中賺$8,在$20的銷售中賺$16。因此,如果我們以$20銷售5000本未退款的書,您將賺取$80,000。
(是的,一些作者已經在Leanpub上賺了很多錢。)
實際上,作者在Leanpub上賺取了超過1300萬美元通過寫作、出版和銷售。
了解更多關於Leanpub寫作的信息
免費更新。無 DRM 限制。
如果你購買了 Leanpub 的書,只要作者更新書籍,你就可以獲得免費更新!許多作者使用 Leanpub 來發布他們正在編寫的書籍。所有讀者都可以獲得免費更新,無論他們何時購買書籍或支付了多少費用(包括免費)。
大多數 Leanpub 書籍均提供 PDF(適用於電腦)、EPUB(適用於手機和平板電腦)和 MOBI(適用於 Kindle)格式。書籍包含的格式將顯示在此頁面的右上角。
最後,Leanpub 書籍沒有任何 DRM 複製保護的胡說,因此你可以輕鬆地在任何支持的設備上閱讀它們。