我有个接口
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‘in DLL NAME
此外,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;
}
}如何修复此错误?
发布于 2018-01-04 21:42:12
我不确定这个问题是否与您的自定义属性有关。问题似乎在于使用RhinoAutoMocker API,因为它是为了模拟具体的类而不是与C‘’tor的接口而设计的。您可以获得接口的实例,如下所示:
var concreteMock = new RhinoAutoMocker<MyClass>(MockMode.AAA);
var interfaceMock = mocker.Get<IMyInterface>();https://stackoverflow.com/questions/48091641
复制相似问题