MOQ

MOQ

(1) 國際貿易術語:最小訂單量。對每個產品設定建議訂單量是補貨的方法之一。另外要注意訂單的有效性,這是由供應商制定的規則。比如說最小訂單量、包裝數量和方式等等。採購者的建議訂單量是在這個基礎上制定的。(2) 計算機術語:Moq是利用諸如Linq表達式樹和Lambda表達式等·NET 3.5的特性,為·NET設計和開發的Mocking庫。

最小訂單量

MOQ 即最小訂購量(最小訂單量)

對每個產品設定建議訂單量是補貨的方法之一。另外要注意訂單的有效性,這是由供應商制定的規則。比如說最小訂單量、包裝數量和方式等等。採購者的建議訂單量是在這個基礎上制定的。

如果訂單量比較少不能滿足最小訂單量,供應商不會送貨,反之訂單量比較高,就可能導致較高的庫存。這就需要採購者平衡兩者的關係。

注意:最小訂購量與供應商的成本緊密相關。供應商會根據生產情況與成本控制,根據客戶訂貨量確定最小訂單量。即在此數額以上,供應商可以發貨。

假設成本取決於:

訂購量Q(數量),單位成本C(金額),每年的占用成本占單位成本的百分比Z(%),每次訂購處理成本S(金額)和每年需要量D(數量),可以得出三個變數:平均存貨量Q/2,每年訂貨次數D/Q和每年每單位占用成本IC。則成本T為:

T=每年訂購成本+每年占用成本=每年訂購次數×每次訂購處理成本+平均存貨量×每單位占用成本

即T=(D/Q)S+(Q/2)IC

令dT/dQ=0,得到最佳訂購量=√2DS/IC

計算機術語

概念

Moq是利用諸如Linq表達式樹和Lambda表達式等·NET 3.5的特性,為·NET設計和開發的Mocking庫。

目標

讓Mocking以一種自然的方式與現有單元測試進行集成,使它更加簡單、直觀,以避免開發人員被迫重寫測試或學習需要大量錄製/播放的Mock框架。Moq的目標就是為了幫助那些編寫測試代碼,但卻不使用Mocking框架的開發人員。Moq的設計原則就是以極低的門檻來獲取良好的重構能力。

特性

強類型:不支持使用字元串來設定期望(expectations),也不支持Object類型的返回值和約束條件與VS的完美集成:所有的特性都全面支持VS智慧型感知,從設定期望,到指定引用方法的參數、返回值等全部支持。不再需要學習錄製/播放,只需要構建你自己的Mock,設定好你的期望;調用它,然後有選擇地驗證它們即可。正如前三個特性所描述的,這讓它的學習曲線極低,大多數情況下,你甚至無須閱讀文檔。

細粒度的控制勝過使用一個簡單的MockBehavior枚舉器來實現對行為的Mock(再也不用去學習Mock、Stub、Fake和動態Mock等之間的理論差異了)可以對接口和類進行Mock重載期望:可以在全局設定時給Mock方法設定預設的期望,在測試方法中可以根據需要對它進行重載。傳入構造參數到被Mock類

使用Mock攔截和引發事件 Moq是開源的,而且期待更多人的貢獻,它的源碼、二進制檔案包以及一個入門指南都託管在Google Code上。

Daniel Cazzulino是Moq的主要維護者,他已經發布了一系列的文章來說明為什麼創建Moq,並提供了幾個很好的示例以展示如何有效地使用Moq。

相關搜尋

熱門詞條

聯絡我們