我有一個方法,我要寫單元測試。方法的簡化版本:在C中嘲弄局部變量#
public static bool IsUpdateAvailable()
{
Version installedVersion = Util.GetInstalledVersionFromRegistry();
Version availableVersion = Util.GetAvailableVersionFromRemote();
bool isRemoteVersionNewer = IsVersionNewer(installedVersion, availableVersion);
return isRemoteVersionNewer;
}
所以,問題是讓兩個局部變量(installedVersion,availableVersion)讀出他們的價值不是來自真正的來源(在這種情況下,從註冊表和網絡),但是從某種假冒源。我無法修改上述方法。我試圖瞭解如何通過使用Moq或Microsoft Fakes來嘲弄這兩個變量。我在互聯網上搜索,但無法找到一些相關的示例代碼。 那麼我怎麼可以嘲笑上述方法的局部變量並測試該方法?
在不同的命名空間比你測試的類是Util.GetInstalledVersionFromRegistry()? – Jimmy
@Jimmy是的Util.GetInstalledVersionFromRegistry()是在一個不同的命名空間 – Arterius
只是放棄了我所問,這是不可能嘲笑這一點,沒有改變一些代碼,檢查我的答案。 – Jimmy