私はMVC3 Razorビューエンジンを試しています。私が検討している機能の1つは、ユニットテストビューです。ユニットテストMVC3 Razorヘルパー/ビュー(文字列なし)
私は、Razorビューをアセンブリにコンパイルして文字列にレンダリングできるいくつかの例を見てきました。問題はそれが文字列としてレンダリングされるので、私は文字列検索を行うことに残されています!
ここに私がやろうとしていることがあります。
- のViewModel
- に渡して、ヘルパーをコンパイル
- コンパイルヘルパー
- 実行して、HTML/XML /ツリー構造のいくつかの並べ替え
これをやりたいのは、出力の特定の部分をテストできるようにするためです。ヘルパーは、さまざまなアウトプット・ギャンクを含むHTMLを吐き出す可能性が高くなります。私がしたいのは、特定の値(例えば)を持つチェックボックスがあるかどうかを調べることです。セレンテストを見たことがあるなら、それはサーバー駆動テストではなく、私がやりたいことに似ています。
コンパイル済みのRazor(または他のビューエンジン)ビューに文字列以外のものを出力する方法はありますか?
優れた答えをありがとう。 HTMLレベルでテストする理由は、ビュー内のロジックをテストするためです。たとえば、Productsを含むViewModelを渡し、在庫があるというプロパティがあるとします。商品に在庫== 0がある場合は、購入リンクを表示しないでください。後で、ViewModelにロジックを追加して、製品に在庫== 0がないことを保証しますが、代わりにIsInStockを使用します。プロパティ。私は正しいHTMLを生成しないために失敗するテストをしたい。このテストを書くための1つの方法は、正当なViewModelを構築してビューに渡し、リンクが生成されているかどうかをチェックすることです。理にかなっている? ありがとう、 –
うん、私は従う。 QUnitにリンクが存在することを確認すると、次のような単純なものになります。 test( "リンクのテスト"、function(){ ok($( '#myLink')。length == 1、 "link present"); }); – Milimetric