顯示廣告
隱藏 ✕
看板 Manic
作者 Manic. (Manic.bbs@newkshs.twbbs.org)
標題 [轉寄] Re: 最近的戰鬥(BDD範例:檢查身份證字號)
時間 2010年05月11日 Tue. AM 12:10:03


看板 Manic
作者 Manic (沒力小僧,修道人。)
標題 Re: 最近的戰鬥(BDD範例:檢查身份證字號)
時間 2010/05/07 Fri 23:12:30


來個簡單的小程式:檢查身份證字號輸入是否正確
哎,這可是我當年第一個程式作業,用C寫,可寫了我一個晚上。

先寫 Cucumber 的 Feature 描述。
我們可以想像,程式執行後應該會有個訊息告訴我們
叫我們輸入身份證字號
輸入後,程式檢查後會告訴我們輸入的身份證字號是對的還是錯的。

以上這個東西,叫做 user story. 也就是我們對於一個程式或專案
預期他要做到的事情的描述。

而 user story 經過分析後,就可以拆成一條條的 Feature。

這裡我們可以得到兩個 feature
第一個 feature: 我執行程式後,會看到程式的提示訊息,叫我們輸入身份證字號
第二個 feature: 我輸入後,會看到檢查後的結果。不是對就是錯。

接下來讓我們直接看 Cucumber 程式碼吧,
大家會很訝異,因為他的程式碼非常的好懂。

=========分隔線=========
Feature: 身份證字號檢查程式
    這個程式可以檢查你輸入的身份證對不對
    可以有效檢查來的人是台灣的還是左岸人

    Scenario: 執行程式
        Given 我什麼事都沒做
        When 我執行檢查程式
        Then 我應該看到"請輸入身份證字號:"的訊息
==========================================
這就是第一個 Cucumber 程式碼的內容,簡單吧

當然這裡面是有 trick 的,不過正式的 Cucumber 程式碼真的就是長這樣
而且真的可以寫中文。

原因是因為我們會實作 step definition ,也就是步驟定義
告訴 Cucumber 說我這些步驟的意義是什麼,然後執行這些步驟。

至於更多的 detail,有興趣的人可以自己找 tutorial 文件
這邊只是講概念。

我可以簡單說明的是,step definition 要花一些時間寫
才能讓外表的 Feature 看起來神奇美妙好懂
這個我稱之為準備工作。

--

        『你掉的東西是這個的妹妹呢?  還是這個銀
的妹妹呢?』
        「....請給我
的.......』

--  |   |   |   |   |   |   | ┌──────┐|   |   |   |   |   |   |   |   |
   |   |   |   |   |   |   |紅樓築夢   |   |   |   |   |   |   |   |  
 Origin: NewKSHS.twbbs.org  └──────┘From: Manic


--
※ 來源: DISP BBS 看板: Manic 文章連結: http://disp.cc/b/93-2g1
※ 看板: Manic 文章推薦值: 0 目前人氣: 0 累積人氣: 194 
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇
看板名稱: 確定(Enter) 取消(Esc) 搜尋(Space)
查詢帳號: 確定(Enter) 取消(Esc) 搜尋(Space)
搜尋: m)m文 b)進板 c)未分類 a)作者 /)標題 q)取消?[q]

搜尋 送出(Enter) 取消(Esc)

回覆文章至: f)看板 m)作者信箱 b)兩者皆是 q)取消?[f]
要引用原文嗎? y)引用原文 n)不引用 a)全部回覆 r)複製原文 q)取消?[y]
轉錄本文章於看板: 1)使用連結 2)使用複製 q)取消 ?[1]
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc) 全部(a)

確定要刪除這篇文章?(可按大U救回) 確定(Enter) 取消(Esc)

刪除理由:

確定(Enter) 取消(Esc)
加到這個分類: 確定(Enter) 下一層(→) 回上層(←) 取消(Esc)
你覺得這篇文章: 1)真讚 2)真瞎 q)取消?[1] (再選一次即可收回)
你覺得這篇文章: 1)值得推薦 2)表示反對 3)單純註解 q)取消?[3]
guest
預覽(Enter) 取消(Esc)
上傳圖片
按ctrl+Enter可輸入下一行。
guest
確定要送出? 確定(Enter) 取消(Esc) 繼續(e)
搜尋: 送出(Enter) 取消(Esc)

▏▎▍▌▋▊▉ 請按任意鍵繼續