Visual Studio 独自の [単体テストの作成...] オプションを使用して、プライベート メソッドで単体テストを生成しました。
うまくいきましたが、今コードをチェックインしようとすると、ビルドに必要な AppData/Local/Temp にプライベート アクセサー クラスが VS によって作成されているため、ビルドが中断されます。このファイルをソース ツリーに配置しようとすると、コンパイラが「本体を定義する必要がある」と言うため、コンパイルされません。この反射ひばりは本当に理解できません...
これはアクセサ クラスです。
#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(".ctor@0")]
public AgentConfigurationGui_Accessor();
public AgentConfigurationGui_Accessor(PrivateObject value);
[Shadowing("_agentPaths")]
public AgentPaths _agentPaths { get; }
[Shadowing("_agentServiceName")]
public static string _agentServiceName { get; set; }
[Shadowing("UpdateStatus@1")]
public void UpdateStatus(string statusMessage);
}
}