Microsoft Fakes Frameworkを使用して、レコードを挿入する方法をテストする単体テストに取り組んでいます。TransportControllerTest
、TransportManager
およびの 3 つのクラスがありDbController
ます。TransportControllerTest
ユニットテストクラスです。これTransportManager
はビジネス ロジック層の一部であり、DbController
3 つのメソッド (挿入、取得、および削除) があります。これらの最後のメソッドは、ADO.NETを使用してデータベースにアクセスします。
私の単体テストでは、挿入メソッドをテストしたいと思いTransportController
ます。このコントローラは と を2dbController
回呼び出します。最後の呼び出しは、最初の呼び出しで挿入に使用されたパラメーターを渡すことによって、最後に生成されたキーを提供します。では、次のように呼び出して、生成された ID にアクセスできます。dbController.insert()
dbController.get()
TransportController
string val = dt.Rows[0]["id"].ToString();
int id = Int32.Parse(val);
上記の値をモックしたいので、次の式は true です。
dt.Rows[0]["id"].ToString().Equals("*mocked id*");
私は次のことを試しました:
DataTable dt = new DataTable(dataSetName);
dt.Columns.Add("id");
DataRow dr = dt.NewRow();
dr.ItemArray.SetValue(1, 0);
dt.Rows.Add(dr);
return dt;
しかし、これはうまくいきません。テストで与えられた式を true にするにはどうすればよいですか?