-1

次のコードを単体テストしたいのですが、今は Rhino Mock で NUnit を使用しています。

注: すべての NUnit テスト ケースでデータベース操作を実行する必要はありません

 interface IdbOperation  
 {
      int  insert();
 }

 public class databaseactivity:IdbOperation 
 { 
    public databaseactivity()
    {
      verifyDBConnection(); 
    }

    void verifyDBConnection() 
    { 
      DbManager dbManager=new  DbManager();

      if(dbManager.state()!=True)   
      {
        Throw new DatabaseException();
      }
    }

    public int insert(bo obj)   
    {   
      Serviceclient  serviceClient=new  Serviceclient(); 
      serviceClient.insert(obj);
    }
 }

上記のコードでは、挿入メソッドの単体テストケースを書きたいと思っています。多くの方法を試しましたが、モックできませんでした。挿入メソッドをモックするために誰か助けてください.ASAP

他のモッキングフレームワークも提案できます。

4

1 に答える 1

0

これはどうですか?

public databaseactivity(IDbManager dbManager = null)
{
  DbManager dbManager = dbManager ?? new DbManager();
  // ...
}

インスタンスを再作成する必要がある場合ServiceclientFactory(.

public databaseactivity(ServiceclientFactory serviceClientFactory = null, /*...*/)
{
  // ...
  this.serviceClientFactory = serviceClientFactory ?? new DefaultServiceClientFactory();
}

public int insert(bo obj)   
{   
  serviceClient = this.serviceClientFactory.CreateServiceClient(); 
  serviceClient.insert(obj);
}
于 2013-06-10T08:54:00.850 に答える