問題タブ [mvccontrib-testhelper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-2 - session.clear、session.abandon、Rhino Mock での MVCContrib TestHelper の問題
こんにちは、コントローラーでログアウトアクションを単体テストしようとしていますが、HttpContext でセッションをテストまたはスタブするのに苦労しています。簡単にするためにMVC Contrib TestHelperを使用していますが、少し助けが必要です。
これが私のテストです:
私のさまざまな試みを見ることができます。Session.Abandon() が実装されていないことを示すエラーが表示されます。MVCContrib の TestHelper を見ると、その通りです。しかし、TestHelper によって既にモックされているセッションをモックまたはスタブするにはどうすればよいでしょうか?
NUnit の例外:
System.NotImplementedException : メソッドまたは操作が実装されていません。MvcContrib.TestHelper.MockSession.Abandon() で
お手伝いありがとう!
編集:これが新しい作業テストです
mvccontrib - とにかくnugetでmvccontrib.testhelperをインストールします
通常のインストールパッケージmvccontribでnugetを使用してmvccontribをインストールしましたが、そこにテストヘルパーがないことに気付きました。それをインストールするために使用しなければならない他の方法やフラグはありますか?
install-packagemvccontrib.testhelperを試しても機能しません...
喜んで受け取ったアイデア
asp.net-mvc - ビュー モデルを使用した get アクションのテスト
次のコントローラー アクションがあります。
そして対応するテスト:
NUnit GUI で次のエラーが表示されます。
MyProject.Web.UnitTests.Controllers.NewsControllerTests.Edit_should_render_view: MvcContrib.TestHelper.AssertionException : MyProject.Web.Common.ViewData.NewsEditModel でしたが、MyProject.Web.Common.ViewData.NewsEditModel が必要でした
対応する単体テストの書き方がわかりません。誰か助けてくれませんか?
asp.net-mvc - 単に安らかなルーティング
MVCContribからのSimplyRestfulRoutingのようなものを使用したいのはなぜですか?新しいアイテムを作成するときに、NewというアクションメソッドとCreateというPOSTリクエストを処理するアクションメソッドが必要なのはなぜですか?Createという2つのメソッドを作成してみませんか?同じことが編集と削除にも当てはまります。
asp.net-mvc - 単体テスト中のMvcontrib.MVC3.TesthelperUpdateModelNullReferenceExceuption
ASP.NETMVC3のコントローラーで編集アクションを単体テストしようとしています。
nuget経由でMvcontrib.MVC3.TestHelperをインストールして、コントローラーコンテキストをモックアウトしましたが、それでもNullReferenceExceptionが発生します
私のコードは次のようになります:
プロダクションコードは次のようになります...
また、UpdateModelまたはTryUpdateModelを使用しても、NullReferenceExceptionでクラッシュします...
どんな助けでも、ポインタは素晴らしいでしょう...
asp.net-mvc - MVCContrib テスト ヘルパーを使用して編集ビューをテストする
ASP.NET MVC 3、MVCContrib、NUnit、Rhino モックを使用しています。これを投稿しましたが、回答が得られませんでした。人々は、このテストに合格するためのまともな答えを得るのに役立つ私のコーディングにもっと集中しています。
編集ビューをテストしようとしています。ビューのテストをコーディングする方法がわかりません。これは、NewsEditViewData 型の厳密に型指定されたビューです。
ビューが読み込まれると、ニュース サービスから ID によってニュース項目のデータが取得されます。したがって、私のテストでは、ニュース サービスのスタブを作成しました。
次に、このニュース項目を NewsEditViewData にマップする必要があります。これを行うマッパー(AutoMapper)があり、テストでは次のことを行いました。
これまでのところ正しい軌道に乗っているかどうかわかりませんか?
次に、次のコードがあります。
私のコードから作業しないでください。ベスト プラクティスに従って回答が必要です。では、アサート部分で何を確認する必要があるのでしょうか? レコードが返されたことも確認する必要がありますか? 私は次のような行で考えていました:
これは失敗します。誰かがこのテストを書き直して合格するのを手伝ってくれませんか。チェックする必要があるものはすべてチェックしてもらいたい。
完全なテストは次のとおりです。
2011 年 2 月 14 日更新:
私の NewsController には、次のものがあります。
アクション メソッドは次のようになります。
NUnit で発生しているエラーは次のとおりです。
MyProject.Web.UnitTests.Controllers.NewsControllerTests.Edit_RenderView_EditView: MvcContrib.TestHelper.AssertionException : MyProject.Web.Common.ViewData.NewsEditViewData でしたが、MyProject.Web.Common.ViewData.NewsEditViewData が必要でした
asp.net-mvc - MVCContrib Route TestHelper でアクション メソッドのパラメーターを確認する方法
パラメータとしてページネーションオブジェクトを持つアクションメソッドがあります
では、アクションメソッドとそのパラメーターに一致するURLを確認するにはどうすればよいですか? 以下のように
アップデート
ルート定義は次のようになります。Page、PageSize、Sort は Paging クラスのメンバーです。
c# - ビュー名が完全なcshtmlパスであるために、mvccontribのAssertViewRendered()。ForView( "Edit")が失敗するのはなぜですか?
私は次の単体テストを持っています:
追加アクションは編集ビューを返すため、これは合格であるはずです。ただし、このアサーションは次の例外で失敗します
ビュー名がフルパス名として返されるのはなぜですか?これは私のT4MVCの使用によるものでしょうか?もしそうなら、どうすればこれを通過させることができますか?
編集追加ビューは次のようになります。
asp.net-mvc - MvcContrib.TestHelper で Moq を使用できますか?
私は最初の ASP .NET MVC プロジェクトに取り組んでおり、この瞬間まではデスクトップ アプリケーションに Rhino.Mocks しか使用していませんでした。
久しぶりなので、今現場で何が使われているのか調べてみることにしました。Moq
の賞賛を読んだ後、私はそれを使うことにしました。
(ラムダの誤用や乱用と呼ばれるものが大好きです)。
しかし、Rhino.Mocksに依存しているように見えるMvcContrib TestHelperフレームワークに対する賞賛も聞きました。
TestHelper が Rhino.Mocks の使用を私に強制するかどうかを知る必要があります。テストで 2 つの異なるモック フレームワークを混在させたくないので、TestHelper が Rhino 固有の場合は、どちらかを決定する必要があります。
- TestHelper のために Rhino.Mocks に切り替えます (悲しいですが可能性があります)。
- Moq を使用するために TestHelper を放棄します (ありそうにありません)。
TestHelper が公開 API で Rhino.Mocks から独立していることを心から願っていますが、100% 確実ではありません。
誰かがそれを(否定)確認できますか?
asp.net-mvc-3 - T4MVC と MvcContrib.TestHelpers を使用したテストでは、静的リンク コンテンツに関する問題が発生します
いじり始める前に、以前に作成したコードの周りにいくつかのテストを作成しようとしています。コントローラー メソッドが、T4MVC が画像とリンク用に作成する静的変数の一部を参照するという問題が発生しています。実際には、以前の質問hereと同じ問題ですが、コンストラクターにはありません。
問題は次のようなコードです。
問題は Links.Content.Images.openwhite_gif です。T4MVC で生成されたコードでは、静的メソッド ProcessVirtualPath から VirtualPathUtility.ToAbsolute を呼び出します。ProcessVirtualPath または VirtualPathUtility をモックできないようです。
ProcessVirtualPath の上のコメントには、デリゲートを介して呼び出され、単体テストのために置き換えられることが示されています。デリゲートは次のとおりです。
単体テストを可能にするために ProcessVirtualPath に対して呼び出されているものを置き換えるにはどうすればよいですか。それが本当に有効なパスを取得するかどうかは気にしません。ただ爆発させたくないだけです。テストメソッドからそれを行うことはできますか? 非テストプロジェクトでデバッグ中かどうかをテストするためにコードを変更せずに?
また、関連する質問は、上記のようなコードのベスト プラクティスは何ですか? アクセス許可ベースの条件のコードはどこに置くべきですか? またはアクションリンクでさえ。それらがビューデータモデルにある理由がわかりません。
OK、コメントで言及されているコードでこれを動作させることができました。
ただし、テストが個別に実行される場合のみ、これを必要とするテストは、 TestControllerBuilderクラスを使用し、それを設定しない別のテストで実行されると失敗します。なんで?