码迷,mamicode.com
首页 > 其他好文 > 详细

一次測試即學習的案例

时间:2018-04-30 00:00:58      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:2-2   事物   成功   border   open   .com   pdo   play   bubuko   

一般工程人員都知道 TDD 的使用方式,也明白 UnitTest 對於程式碼品質有著良好的保護

但比較少去探討的另一個好處應該是「學習」這件事了

雖然一般來說我們寫 Testing 其實是針對已知的事物(Business logic)去做測試與保護

比較少做未知的探索測試,但在一般有寫 Testing 情況下,還是有機會學習的 (所以還是鼓勵大家多多寫測試 技术分享图片 )

以下我分享一個測試即學習的案例給各位小夥伴

這個案例其實很簡單,我寫了一個 UnitTest 想要測試 EPPlus 在讀取完我建立的 Excel 範本後

可以正確的判斷某個 Cell 是否有正確設置 Dropdownlist。

Excel 範例大致是長這樣

技术分享图片

來看看 EPPlus 是如何將 Dropdownlist 加入到 Cell 裡

技术分享图片

有興趣的同鞋可以參考 : https://github.com/JanKallman/EPPlus/wiki/Data-validation

接下來第一步是先寫下「預期的測試」

從官方的範例來看,在這裡我直覺的認為設置的公式應該在 Cell 裡,為什麼?

原因是我在這裡想要驗證的僅僅是 A2 Cell 是否有符合預期的設置

技术分享图片

看起來跟預期的不一樣,也可以看到該欄位的  Formula 是空的
技术分享图片

接下來看看是不是在 Cell 的 DataValidation 裡

技术分享图片

可以看到 DataValidation 裡並沒有相關的屬性可以使用

最後可以看到,其實加入後的 DataValidation 是放在 sheet 的DataValidations屬性中

技术分享图片

技术分享图片

可以很清楚的看到我們先前設置的公式就在這裡面

從這一步一步當中,相信各位應該有發現到,從一開始的猜想試錯當中,我們發現也學習到了 EPPlus 在設置完 Cell 的 DataValidation 後,其實在原本的 Cell 上是不存在任何資訊可以去驗證我們是否成功的,最後才學到原來相關資訊是存在 Sheet 的 DataValidations 裡頭

以上,就是一個簡單的測試即學習案例。不曉得大家有沒有類似的體驗呢?

註:後來在寫這篇範例時發現到,如果我手動在 Excel 上設置 DataValidation 而不是透過 EPPlus 套件設置的話,在程式裡是完全找不到的。在取得 DataValidations 時也都會報錯,看起來又學到一個新的知識了呢

一次測試即學習的案例

标签:2-2   事物   成功   border   open   .com   pdo   play   bubuko   

原文地址:https://www.cnblogs.com/KingJaja/p/8972240.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!