コントローラ、ビジネス、データ層の3層アーキテクチャを使用しています。データレイヤーで、接続文字列とその他の必要なパラメーターを渡してSQLServerデータベースを呼び出しています。
ControllerレイヤーとBusinessレイヤーの単体テストを作成する必要があります。ハードコードされた値/結果を返すスタブ(偽のリポジトリ)を作成したいと思います。ビジネスレイヤーのテストを作成する場合、ロジックは実際のデータベースではなくこのスタブを呼び出す必要があります。
これを実現するために、ビジネスレイヤーでコードを作成するにはどうすればよいですか?
ビジネスレイヤー:
public string GetValues(string xmlData)
{
DataObject do = new DataObject ();
string result = do.GetValues(xmlData);
return result;
}
データアクセス:
public static string GetValues(string xmlData)
{
return SqlHelper.ExecuteScalar(
ConfigurationManager.AppSettings["ConnectionString"].ToString(),
"DBO.usp_GetDetail",
xmlData
).ToString();
}