我想將一段使用Windows Impersonation API的代碼封裝到一個整潔的小幫手類中,並且和往常一樣,我正在尋找一種先行先試的方法。但是,雖然WindowsIdentity是託管類,但實際上以另一個用戶身份登錄所需的LogonUser調用是advapi32.dll中的非託管函數。單元測試是否可以進行P/Invoke調用?
我想我可以通過引入一個接口讓我的幫助類在實現中使用和隱藏P/Invoke調用,但測試該實現仍然是一個問題。你可以想象,考慮到用戶實際上需要存在於系統中,實際上在測試中執行模擬可能有點問題。
這是我採用的方法,我對它很滿意。但是,我仍然希望有一種方法來驗證我的具體類在調用Win32 API時是否「做正確的事情」。 :) – Rytmis 2008-10-31 11:24:08
有。這就是所謂的集成測試。 – nathanchere 2014-04-02 01:01:47