私はいくつかのアコーディオンスタイルの機能を出力するために使用されるHtmlHelperを持っています。このヘルパーは、サイト全体で広範囲にわたって使用されます。Asp.Net Mvc HtmlHelperテストVeiwContext.Writer.WriteLine
この機能を作成するために使用されるコードはTagBuilder
を多用しますし、もちろん、私たちは使用してHTMLを出力している。
htmlHelper.ViewContext.Writer.WriteLine(someTag.ToString(TagRenderMode.StartTag));
私たちは、このパターンを使用して、いくつかのヘルパーを持っているし、それは素晴らしい取り組んでいます。
これまでのところ、私が欲しいのはまさにそれです。しかし、これをテストすることは悪夢であることが証明されています。どのように私はhtmlHelper.ViewContext.Writer.WriteLine
をテストするのですか?あなたが主張する場合、それは
一つはここにある:http://blogs.teamb.com/craigstuntz/2010/09/10/38638/それは仮定しているようですメソッドが 'return MvcHtmlString.Create(tagBuilder.ToString(TagRenderMode.Normal));'のようなものを返す 'public static MvcHtmlString ... 'を使ってHtmlHelperの標準拡張を行います。あなたのHTMLヘルパーメソッドは実際に何を返すのですか? – Nope
私たちはMvcFormのものと同じパターンを使用しています。したがって、Accordian:IDisposableクラスを返します。 – iwayneo
私は参照してください。私が投稿したリンクの男と同じようなテストをしないでください。あなたの場合、戻り値はAccordionクラスのインスタンスであり、それに応じて検査してアサーションすることができますか? – Nope