C#で単体テストのDataRowを作成する最良の方法は何ですか?C#で多数の列を持つDataRowを単体テストする方法
私はすべてのデータがDataRow変数の中に格納されるクラスアーキテクチャを持っています。使い方?たとえば、顧客リストのレコードをダブルクリックすると、Customerテーブルのレコード全体が_dataRow変数にロードされます。 問題は、Customerテーブルに200以上の列があることです。
質問は、私は手動でDataRow変数を作成し、すべてのテストメソッドのすべての列を埋める必要がありますか?あるいは、すべてのDataRowカラムをモックするためのいくつかの模擬ツールがありますか?
class Customer
{
private DataRow _dataRow;
public Customer(DataRow dataRow)
{
_dataRow = dataRow;
}
private string GetCustomerName()
{
return Convert.ToString(_dataRow["Name"]);
}
private string GetCustomerAddress()
{
return Convert.ToString(_dataRow["Street"]) + " " + Convert.ToString(_dataRow["House_No"]);
}
private int GetAge()
{
DateTime birthdate = Convert.ToDateTime(_dataRow["Birthdate"]);
DateTime today = DateTime.Today;
int age = today.Year - birthdate.Year;
if (birthdate > today.AddYears(-age))
age--;
return age;
}
}
レコードでハードコードされたデータテーブルを使用して単体テストでデータローを注入できないのはなぜですか? – Sievajet