如何对静态类Rhino嘲讽进行单元测试

时间:2015-05-14 07:35:26

标签: c# unit-testing rhino-mocks

我有遗留代码,我需要单元测试而不会改变。有些部分是不可测试的。我正在使用Rhinomocks,我坚持如何创建静态类的模拟并验证对它的任何期望。这是示例代码:

  public static class BadGuy
{
    private static event Badevent;

}

public class GoodGuy
{
    public GoodGuy()
    {
        BadGuy.Badevent += GoodGuyBadluck;
    }

    private GoodGuyBadluck()
    {
    ....
    }

}

2 个答案:

答案 0 :(得分:1)

RhinoMocks不会模拟静态类。如果您可以抽象静态类,以便它们位于可模拟的类中,那么您可以使用Microsoft Moles,TypeMock或JustMock等框架来模拟它们。

答案 1 :(得分:0)

如果可以从单元测试中排除静态类,则可以创建虚假实现并插入自己的存根来监视活动。像这样:

///
/// My fake implementation
///
public static class BadGuy
{
    private static event Badevent;
    public static void TriggerEvent()
    {
         Badevent();
    }
}