我正在密集使用Active Directory工作。我針對AD設計了幾個單元測試,其中一些是使用模擬對象實現的,其中一些是通過實際調用AD來實現的。如何根據Active Directory對NextPasswordChangeDate函數進行單元測試
作爲我的項目的功能之一,我必須檢索一個所謂的「用戶配置文件」。此用戶配置文件主要由簡單屬性組成,如「cn」,「company」,「employeeid」等。但是,我試圖填充的一個屬性不是簡單的屬性「NextPasswordChangeDate」。
據我所知,獲取此的唯一方法是獲取域策略的maxPwdAge並將此信息與pwdLastSet一起使用。
現在我的問題:我該如何以智能的方式進行單元測試?我想出了三個選項,所有這一切都不是很大:
- 用我自己的帳戶作爲搜索帳戶,通過其他手段,並在單元測試硬編碼找出日期。通過這種方式,我可以單元測試我的代碼,但每個月都必須更改單元測試,因爲我更改了密碼。
- 使用某個擁有密碼的帳號永不過期。這是毫無意義的,因爲我無法真正測試我的代碼的正確性。
- 使用模擬對象並確保發生正確的API調用。這個選項允許測試函數行爲的正確性,但是然後被測試的邏輯實際上是在單元測試中,因此我不能確定,即使測試通過,它也在做正確的事情。
您建議您選擇哪三種?或者,也許你有更好的選擇?