本文轉載自 Leon 的網誌
本文僅獻給那些從來不寫測試的同學們。
我們都知道測試的重要性,教材也都鼓勵我們重視測試,追求測試覆蓋率,可是其實你知道、我知道、獨眼龍也知道,測試根本就沒有寫,東西看起來會動就好。(?!)
根據某些祖傳的統計數據,測試的程式碼平均會是其它程式碼的六倍,在資源(沒錢、沒人)與死線(沒時間)的雙重壓力下,也難怪測試始終寫不下去,因此本文只會請同學大大寫一個測試,真的一個就好。
一個測試
# test/system/home_page_test.rb
class HomePageTest < ApplicationSystemTestCase
test "show homepage" do
visit "/"
assert_text "Text on your homepage"
end
end
跑一下:
> bundle exec rails test:system
這樣簡單的把首頁打開的測試,背後代表的意義是:
- 專案的首頁被瀏覽器打開了。
- 因而專案必須真的跑起來好讓瀏覽器訪問。
- 你寫下了第一條測試,而且應該是成功的,好棒棒,給自己掌聲鼓勵。
這只是測試的一小步,卻是專案的一大步。
忘掉上面六倍的恐怖數字吧!藉由這一個微小但確切的測試,看著它 pass 有沒有感到一絲絲的小確幸呢?
如果有的話(灑花轉圈圈),來寫下一個測試吧,可以是測試註冊帳號,也可以是測試登入,測試是一種累積,看到它們 pass 的那種安心感是難以言喻的,從此不用再提心吊膽、偷偷摸摸交付給客戶,測試是我們的好朋友,也是工程師的浪漫~。
本文改寫自〈Write One Test〉。