There is a private variable that in a static class:
public static class Common {
private static EMailSetting _mailSetting;
......
public void BeTest()
{
if(_mailSetting=null){
//do something
}
........
}
}
How can I mock "_mailSetting"?
I try this code, It's not work:
Mock.SetupStatic(typeof(Common), Behavior.CallOriginal, StaticConstructor.Mocked);
Mock.NonPublic.Arrange<EMailSetting>(typeof(Common), "_mailSetting")
.Returns(() => {
var mockMailSetting = Mock.Create<EMailSetting>();
mockMailSetting.mailFrom = "C";
mockMailSetting.mailTo = "D";
return mockMailSetting;
});
Common.BeTest();