如何在静态函数中调用或调用特定函数

时间:2013-01-01 19:40:48

标签: unit-testing c#-4.0 delegates moles

我想测试一个特定的功能。 该函数调用了受保护的不同类的静态方法,因此无法从外部访问。  在进行组件级别测试时,我不想打数据库。 因此,如果它在静态函数中,则可以模拟对数据库的特定调用。

//I want to test this function
public void testing
{
    Abc.instance.Add();
}




class Abc
{
    public static readOnly instance = new Abc();

    Abc()
    {
        createInstance();
    }  

    public void createInstance()// I want to mock this function
    {
        //calls to the database
    }

    public void Add()
    {
        //...
    }
}

但即使我使用委托来模拟createInstance(),在转到委托行之前,静态块也会被调用,从而命中数据库并抛出异常。

0 个答案:

没有答案