2

特定の機能をテストしたい。その関数は、保護されている別のクラスの静的メソッドを呼び出しているため、外部からアクセスすることはできません。コンポーネントレベルのテストを行っているので、データベースにアクセスしたくありません。したがって、静的関数内にある場合、データベースへの特定の呼び出しをモックすることは可能ですか。

//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()、デリゲート行に移動する前に、静的ブロックが呼び出されるため、データベースにアクセスして例外がスローされます。

4

0 に答える 0