首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方法属性导致RhinoAutoMocker测试用例失败

方法属性导致RhinoAutoMocker测试用例失败
EN

Stack Overflow用户
提问于 2018-01-04 08:48:39
回答 1查看 36关注 0票数 1

我有个接口

代码语言:javascript
复制
public interface IMyInterface 
{    
    [CustomAttribute]    
    void MethodA();
}

和相应的类实现它。

代码语言:javascript
复制
public class MyClass: IMyInterface 
{ 
    public void MethodA()
    { 
        //<some logic>
    } 
}

在创建测试用例时,我使用的是StructureMap.AutoMocking:

代码语言:javascript
复制
var mocker = new RhinoAutoMocker<IMyInterface>(MockMode.AAA);

它会抛出一个类似于-

System.TypeInitializationException‘in DLL NAME

此外,CustomAttribute的类型初始化程序引发了一个异常。

代码语言:javascript
复制
public class CustomAttribute : AuthorizeAttribute 
{ 
    internal bool TestAuthorizationIsEnabled;

    internal bool IsAuthorized(string name) 
    { 
        var auth = new Auth();  
        var val = auth.IsAuthorized(name, Roles); 
        return val; 
    }
}

如何修复此错误?

EN

回答 1

Stack Overflow用户

发布于 2018-01-04 21:42:12

我不确定这个问题是否与您的自定义属性有关。问题似乎在于使用RhinoAutoMocker API,因为它是为了模拟具体的类而不是与C‘’tor的接口而设计的。您可以获得接口的实例,如下所示:

代码语言:javascript
复制
 var concreteMock = new RhinoAutoMocker<MyClass>(MockMode.AAA);
 var interfaceMock = mocker.Get<IMyInterface>();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48091641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档