1

私はユニットテストを学ぼうとしており、ユニットテストを備えたこの非常に単純なクラスを持っています:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View(new HomeViewModel
        {
            LogoUrl = this.Url.Content("~/Images/product.png")
       });
    }
}

[TestMethod]
public void Index()
{
    Assert.IsNotNull(new HomeController().Index() as ViewResult);
}

null 参照例外が発生しています。this.Url()ユニットテストなしで使用することに関連してHttpContextいると思います。

を使用している間に単体テストに合格するにはどうすればよいthis.Url()ですか? Moq を使用しても問題ありません。:)

4

2 に答える 2

2

答えは、例としてここにあります (要点): https://gist.github.com/johnnyreilly/4959924

関連するスタック オーバーフローの質問を次に示し ます。 ASP.NET MVC: UrlHelper を使用するコントローラーの単体テスト

どちらも正しい軌道に乗るのに役立つはずです。

とをモックすることHttpRequestBaseになるので、クラスで使用されているHttpResponseBase実際の をモックできます。HttpContextBaseUrlHelper

于 2013-08-16T15:55:45.317 に答える
0

これは古い質問ですが、立ち寄る可能性のある他の人のために、LosTechies の常に親切なクルーによる Unit Testing Simple ASP.NET MVC Controllers をチェックしてください: http://lostechies.com/chrismissal/2010/02/05/unit-テスト-シンプル-asp-net-mvc-コントローラー/

于 2014-07-10T19:53:43.123 に答える