我有一个界面
public interface IMyInterface
{
[CustomAttribute]
void MethodA();
}
以及实现它的相应类
public class MyClass: IMyInterface
{
public void MethodA()
{
//<some logic>
}
}
当我创建一个测试用例时,我正在使用StructureMap.AutoMocking:
var mocker = new RhinoAutoMocker<IMyInterface>(MockMode.AAA);
它引发了一个例外 -
System.TypeInitializationException&#39;在我的DLL名称
此外, CustomAttribute 的类型初始化程序引发了异常。
public class CustomAttribute : AuthorizeAttribute
{
internal bool TestAuthorizationIsEnabled;
internal bool IsAuthorized(string name)
{
var auth = new Auth();
var val = auth.IsAuthorized(name, Roles);
return val;
}
}
如何解决此错误?
答案 0 :(得分:0)
我不确定该问题是否与您的自定义属性有关。似乎问题在于使用RhinoAutoMocker API,因为它旨在模拟具体类而不是与c'tor的接口。您可以按如下方式获取界面实例:
var concreteMock = new RhinoAutoMocker<MyClass>(MockMode.AAA);
var interfaceMock = mocker.Get<IMyInterface>();