Thinking in unit test

一 置單元測試類與功能代碼類於同一包中

     如此,單元測試可獲得包訪問權限。

二 方法的設計
單元測試從根本上來講是為業務邏輯方法服務的,那方法做的好才是根本。舍本逐末而功成,吾未之聞也。
如果一個方法的行數是實際意義上的“屈指可數”

<甲>這個方法的單元測試更好設計一些
<乙>這個方法出錯的概率會小一些

我想這兩條理由已經足夠。。。

三 不要傷害自己的自信
當一個單元測試的錯誤沒有解決,不要寫第二個

四 單元測試不是二等公民
單元測試一樣需要我們的思考與設計,原因很簡單:需求在改變。我們需要我們單元測試是符合開閉原則的。

五 每一個測試方法只包含一個Assert語句。
當然不一定所有的測試方法都這麼幹,但要做到一個測試方法中含有最少的Assert語句。原因是:
<甲>可讀性強
<乙> 容易定位錯誤

六 保持每個單元測試的獨立性
設想:
如果某個單元測試失敗了,所有依賴它的單元測試也全部失敗了,我們如何確認錯誤的根源在哪裏?

七 構造-操作-檢驗(BUILD-OPERATE-CHECK)模式
單元測試不是二等公民,它當然需要可讀性,故每個單元測試最好按照構造-操作-檢驗模式分為三部分,第一部分構造測試數據,第二部分操作測試數據,第三部分檢驗操作是否與期望的數據一致。

若有其他見解,歡迎跟帖。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值