Shim を使用して、DataSyncCore というこのクラスのプライベート メソッドの 1 つをテストしようとしています。私は shim を初めて使用し、「プロパティまたはインデクサーの GetEnvironmentString は、アクセサーが不足しているため、このコンテキストでは使用できません。これを修正するにはどうすればよいですか」というエラーが表示される理由がわかりません。 ?
//Method to be tested inside DataSyncCore Class
private Environments GetEnvironment(string env)
{
string environment = env.ToLower();
switch (environment)
{
case "dev":
return Environments.Dev;
case "qc":
return Environments.QC;
case "uat":
return Environments.UAT;
case "prod":
return Environments.PROD;
default:
return Environments.Dev;
}
}
これは私の単体テストです:
[TestMethod]
public void DataSyncCore_GetsEnvironment_Succeeded()
{
using (ShimsContext.Create())
{
var core = new ShimDataSyncCore()
{
GetEnvironmentString = (dev) =>
{
return Environments.Dev;
}
};
Assert.AreEqual(Environments.Dev, core.GetEnvironmentString("dev"));
}
}