【问题标题】:RhinoAutoMocker Testcase fail due to Method Attribute由于方法属性,RhinoAutoMocker 测试用例失败
【发布时间】:2018-01-04 08:48:39
【问题描述】:

我有一个界面

public interface IMyInterface 
{    
    [CustomAttribute]    
    void MethodA();
}

以及实现它的相应类

public class MyClass: IMyInterface 
{ 
    public void MethodA()
    { 
        //<some logic>
    } 
}

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

var mocker = new RhinoAutoMocker<IMyInterface>(MockMode.AAA);

它抛出一个异常 -

我的 DLL 名称中的

System.TypeInitializationException'

另外,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; 
    }
}

如何解决这个错误?

【问题讨论】:

    标签: c# structuremap-automocking


    【解决方案1】:

    我不确定问题是否与您的自定义属性有关。似乎问题在于使用 RhinoAutoMocker API,因为它旨在模拟具体类而不是与 c'tor 的接口。您可以按如下方式获取接口实例:

     var concreteMock = new RhinoAutoMocker<MyClass>(MockMode.AAA);
     var interfaceMock = mocker.Get<IMyInterface>();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 2019-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      相关资源
      最近更新 更多