中被拋出,我能夠從當前域調用此收集所有的類型:模擬ReflectionTypeLoadException域類型集合
var types = AppDomain.CurrentDomain
.GetAssemblies()
.SelectMany(x => x.GetTypes())
.ToList();
假設不會拋出異常。不過,我想模擬ReflectionTypeLoadException
在這個過程中拋出。
如何破壞我的代碼中發生此異常的任何現有類型?
或者,如果上述不能實現,我該如何動態地創建一個具有一些損壞類型的人造大會來感染域(當前或新的)?特別是我在尋找有關下Infect()
方法的實現一些端倪:
Infect(AppDomain.CurrentDomain); // inject corrupted type
try
{
var types = AppDomain.CurrentDomain
.GetAssemblies()
.SelectMany(x => x.GetTypes())
.ToList();
}
catch (ReflectionTypeLoadException e)
{
// done
}
是,對單元測試的目的呢? – CodeNotFound
@CodeNotFound:是的。 – jwaliszko