以下のクラスの単体テストを書きたいと思います。
名前が「MyEntity」以外の場合、mgr は空白にする必要があります。
Negative Unit test
Manager のプライベート アクセサーを使用して、名前を "Test" に変更して、mgr が null になるようにします。そして、mgr の値を確認します。これを実現するには、静的コンストラクターを明示的に呼び出したいのですが、静的コンストラクターを呼び出すときに
Manager_Accessor.name = "Test"
typeof(Manager).TypeInitializer.Invoke(null, null);
name は常に "MyEntity" に設定され、name を "Test" に設定して静的コンストラクターを呼び出す方法。
public class Manager
{
private static string name= "MyEntity";
private static object mgr;
static Manager()
{
try
{
mgr = CreateMgr(name);
}
catch (Exception ex)
{
mgr=null;
}
}
}