我有以下代码,我正在进行单元测试。
public static MyConfiguration GetConfig(string sectionName)
{
if (!Initialized)
{
try
{
InitializeEnv(); // Method is present but no implementation yet.
}
finally
{
Initialized = true;
if (configurationReader == null)
{
configurationReader = ConfigurationValueReader.ConfigurationReader();
}
}
}
return (MyConfiguration)configurationReader.ReadSection(sectionName, new MyConfigurationHandler());
}
并且我想从InitializeEnv()方法抛出一个异常,该方法与上面使用shims或stub的方法在同一类中定义。这个方法InitializeEnv()目前在它内部没有实现来导致数据异常。是否有一种方法,我仍然可以抛出一个异常从该方法使用Shims或存根在这里?
能够加载它,但我需要添加一个ExpectedException属性到我的测试方法,因为Catch块不存在。
ShimListenerConfiguration.InitializeEnv = () =>
{
throw new Exception();
};