測試的一小步 專案的一大步

本文轉載自 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

這樣簡單的把首頁打開的測試,背後代表的意義是:

  1. 專案的首頁被瀏覽器打開了。
  2. 因而專案必須真的跑起來好讓瀏覽器訪問。
  3. 你寫下了第一條測試,而且應該是成功的,好棒棒,給自己掌聲鼓勵。

這只是測試的一小步,卻是專案的一大步。

忘掉上面六倍的恐怖數字吧!藉由這一個微小但確切的測試,看著它 pass 有沒有感到一絲絲的小確幸呢?

如果有的話(灑花轉圈圈),來寫下一個測試吧,可以是測試註冊帳號,也可以是測試登入,測試是一種累積,看到它們 pass 的那種安心感是難以言喻的,從此不用再提心吊膽、偷偷摸摸交付給客戶,測試是我們的好朋友,也是工程師的浪漫~。

本文改寫自〈Write One Test〉。

作者:六小編

不是五小編也不是七小編,就是六小編。

本文由 INFOLINK 聯騰資訊股份有限公司提供,聯騰資訊專注於為零售與餐飲產業提供智慧化的系統解決方案,以 ERP 為核心為客戶開拓 E 化應用,與 POS、BI、EC 等應用實現無縫整合,我們在此分享我們對產業與技術的觀點,歡迎與我們交流或追蹤我們。