2012-11-13 155 views
2

我正在用C#編寫一個HttpModule,並且寫了大量的單元測試來測試代碼。單元測試的最佳做法IHttpModule

該模塊非常簡單,只是它檢查了一些cookie,並根據我們的業務邏輯過期了需要過期的cookie。

但我想確保這不會破壞任何東西。所以我想測試它的好和徹底!

我已閱讀使用System.Web.Abstractions嘲笑請求和響應對象的文章。這很好,而且有效!欲瞭解更多信息,請看:http://www.kongsli.net/nblog/2009/05/03/aspnet-35-improving-testability-with-systemwebabstractions/

但我想知道是否有什麼我真的需要測試什麼時候編寫HttpModules。一些與我的業務邏輯代碼沒有直接關係的東西。有些東西可以測試我正確處理模塊,或者其他可能會破壞的東西。

感謝, JP

回答

2

簡單:

  1. 不要把邏輯IHttpModule裏面執行。
  2. 由於您只修改cookie,只需將它們傳遞給您自己的類。

例子:

void InYourHttpModule() 
{ 
    myLogic.Invoke(Request.Cookies, Response.Cookies); 
} 

以這種方式,很容易驗證你的邏輯做什麼它說,沒有別的。

+0

這就是我已經做的。只是想知道測試其他東西是不是一個好主意。也許集成測試。 –

+0

爲什麼?你不會修改餅乾以外的其他東西嗎? – jgauffin

+0

試圖在這裏學習一些東西。不習慣使用HttpModules,並且希望確保沒有錯過任何東西,因爲我不瞭解HttpModules的工作方式。 –

相關問題