單元測試的藝術第二章心得 - 第一個單元測試

單元測試的藝術第二章 - 第一個單元測試

單元測試框架

假設你不使用任何的單元測試框架 , 那麼你可能每次新增一個功能就必須為其額外撰寫一個主控台應用程式或是測試專用 UI (不論是桌面應用或是網頁). 這額外的負擔 , 會降低你撰寫單元測試的意願. 甚至即使你願意撰寫 , 也可能影響你撰寫的單元測試的品質. 例如 : 測試程式沒有覆蓋產品程式所有重要的邏輯.

 

...繼續閱讀 »

Aggregate Operators - Aggregate

Aggregate Operators - Aggregate
Aggregate 的意思是加總的、聚合的. 也就是說 Aggregate 會將集合元素透過若干處理合併為一個結果 , 並回傳.

Aggregate 方法會走訪每一個元素. 在每次元素拜訪結束後 , 會將計算結果暫存起來 , 用作與下一個 Current Item 進行結合、處理或是使用者指定的運算. 這意思是說前一篇介紹的 Sum、Average、Count、Min 以及 Max 其實都只是 Aggregate 的一種特殊情況之一.

 

...繼續閱讀 »

Aggregate Operators - Count & Sum & Average & Min & Max

Aggregate Operators - Count & Sum & Average & Min & Max

Count、Sum、Average、Min、Max

Count、Sum、Average、Min、Max 是 LinQ 內用來進行統計運算(?)的函數. 其與 First 相同 , 都是立即執行(Immediately execution)查詢. 因此不用擔心延遲執行的問題. 另外需要特別注意的是上述函數的回傳值只可能是 Value Type 以及 Nullable Type . 也就是說 , 像是回傳學生集合中成績最小的學生物件 , 這個動作是無法達成的.

...繼續閱讀 »