私はMoqを使ってコントローラをテストすることを学んでいますが、コントローラからのデータレイヤコールをどのようにバイパスするべきかはわかりません。私は以下のような方法があるとします。そのような単純なコントローラをテストするために私はどのようなアプローチをとるだろうか?Moqを使用してデータレイヤーをバイパスする方法は?
[HttpPost]
public ActionResult SomeController(SomeModel model)
{
if(ModelState.IsValid)
{
// Perform some manipulation on modeldata
model.Value++;
// Upload Model, Get ID
model.Id = MyDataLayer.UploadToDb(model);
}
return View(model);
}
インターフェイスを使用してデータレイヤを抽象化する必要があります。コントローラのコンストラクタにデータレイヤの実装を挿入します。実装は、moq'dバージョンか実際の実装のどちらでもかまいません。 – KiwiPiet
HotFuzz(@KiwiPietを指し示す)を引用するには: "彼が言ったこと"。 – code4life
この例の 'MyDataLayer'静的変数またはローカル変数は提供されていますか? – Nkosi