我已經使用Visual Studio自己的「創建單元測試...」選項爲私有方法生成了單元測試。Visual Studio私人訪問器和簽入代碼
好,它的工作原理,但如果我現在嘗試檢查我的代碼,我打破了構建,因爲VS已經在AppData/Local/Temp中創建了需要構建的私有訪問器類。如果我試圖將這個文件放在我的源代碼樹中,它將不會編譯,因爲編譯器說它「必須定義一個主體」。真不明白,這反映雲雀...
這是訪問類:
#region Assembly AgentConfiguration_Accessor.exe, v4.0.30319
// C:\Projects\AgentConfigurationTests\obj\Debug\AgentConfiguration_Accessor.exe
#endregion
using Agent.ConfigurationData;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
namespace Agent.AgentConfiguration
{
[Shadowing("Agent.AgentConfiguration.AgentConfigurationGui")]
public class AgentConfigurationGui_Accessor : BaseShadow
{
protected static PrivateType m_privateType;
[Shadowing("[email protected]")]
public AgentConfigurationGui_Accessor();
public AgentConfigurationGui_Accessor(PrivateObject value);
[Shadowing("_agentPaths")]
public AgentPaths _agentPaths { get; }
[Shadowing("_agentServiceName")]
public static string _agentServiceName { get; set; }
[Shadowing("[email protected]")]
public void UpdateStatus(string statusMessage);
}
}
是的,我確實從測試一個私人方法得到一個有趣的感覺。我現在使用模擬來包裝有問題的方法,並以此方式完成。不過,在VS中知道如何去做(並保持項目的可移植性)會很好。 – Mijin 2012-08-03 12:31:39