問題タブ [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 - オブジェクトに自動マップされたルート データを取得するアクションで mvccontrib testhelper を機能させる
これは ASP.NET MVC v1 です (v2 はまだ使用していません)。
次のようなルートエントリがあります。
およびそれに一致するアクション:
これは完全に機能します。mvc フレームワークは、searchQuery と ListingType を同じ名前の QueryParameters オブジェクトの 2 つのプロパティにマップすることを認識しています。
私の問題は単体テストです。私は Mvccontrib プロジェクトを使用しており、ShouldMapTo メソッドを愛しています:
それはうまくいきません!私は自分のアクションに次のような特定のパラメータを持っていました:
これは機能しました (明らかに、単体テストは、この 1 つのオブジェクトではなく、2 つのパラメーター (文字列) を使用して Search にマップしようとします。
すべてのプロパティをパラメーターとして書き込むことに戻る以外に、問題を解決する方法を知っている人はいますか? プロパティのmvc自動マッピングはうまく機能しますが、mvccontribs testhelperをそれで動作させる方法があることを願っています。
asp.net-mvc - MvcContrib.TestHelperを使用してasp.netmvcpostアクションをテストする方法
優れたMvcContrib.TestHelperを使用してルーティング構成をテストしようとしていますが、問題が発生しました。
ルーティング構成が正しく設定され、TestFixtureで初期化されていると想定してください。
タイプTransactionRecordの入力パラメーターを受け取るCreateというコントローラー(TransactionsController)アクションがあります。
現在、私のテストは次のとおりです。
私の問題は、Create()メソッドがTransactionRecord型のパラメーターを受け取ることです。これをテストに組み込む方法がわかりません。
私はこの性質の例を見つけることができませんでした。
asp.net-mvc - MvcContrib.TestHelperのShouldMapTo()ジェネリック拡張メソッドを使用してエラーのヘルプが必要
MvcContrib.TestHelper ShouldMapTo()拡張メソッドを使用してルートを単体テストしようとして<TController>
いますが、テストが失敗し、次のエラーメッセージが表示されます。
しかし、ReviewControllerは制約を満たしています。これは、System.Web.Mvc.Controllerから継承するSmartControllerと呼ばれるクラスから継承します。したがって、私はこのエラーを解決する方法について途方に暮れています。
これが私のユニットテストです:
ReviewControllerクラスの宣言は次のとおりです。
そして、SmartControllerクラスの宣言:
ニヤリと笑うために、継承階層からSmartControllerを削除して、ReviewControllerがControllerから直接継承するようにしましたが、それでもエラーがスローされます。
誰かが私が間違っていることを知っていますか?
asp.net-mvc - UrlHelper 拡張メソッドの単体テスト
UrlHelper の拡張メソッドが機能することを確認するために単体テストを作成しようとしていますか? 誰もこれを行う方法を知っていますか? MVC 1.0 と MvcContrib を使用しています。ルートはテストできますが、次のようなコードはテストできません。
c# - クエリ文字列を使用して URL のルート/アクション解決をテストするにはどうすればよいですか?
単体テストで次のようなコードを使用しようとしていますが、
問題は、これが「期待される結果 by was Results?searchText=x」で失敗することです。
URL(クエリ文字列を含む)が正しいコントローラー、アクション、および引数に解決されることをテストできるソリューションを誰かが持っていますか?
参考までに、Global.asax.cs に明示的なルート設定はありません。実際のアプリではデフォルト ルートが機能するためです。このテストでは機能しません。
asp.net - MvcContribTestHelpersに関する初心者の質問
MvcContribでTestHelpersを使い始めたところです。IsAjaxRequest()がtrueであるかどうかをテストする、コントローラーのアクションメソッドを試してみたいと思います。
TestHelperサンプルに示されているのと同じコードを使用してTestControllerBuilderをセットアップしました
そのため、_controllerにはすべての偽造/モックされたHttpContextが含まれています。これは本当に素晴らしいことです。しかし、内部的に偽造されたRequestオブジェクトのIsAjaxRequest()がtrueを返すように強制するにはどうすればよいですか?
asp.net-mvc - MVCContrib TestHelper の使用中にエラーが発生しました
前の質問に対する 2 番目の回答を実装しようとすると、エラーが発生します。
投稿が示すようにメソッドを実装しましたが、最初の 3 つは適切に機能します。4 つ目 (HomeController_Delete_Action_Handler_Should_Redirect_If_Model_Successfully_Delete) は、次のエラーを返します: 結果の Values コレクションに「コントローラー」という名前のパラメーターが見つかりませんでした。
コードを次のように変更すると:
適切に動作しますが、そこにある「魔法の文字列」が好きではなく、他のポスターが使用したラムダメソッドを使用することを好みます。
私のコントローラーメソッドは次のようになります。
私は何を間違っていますか?
c# - Automapper を使用して ViewModel をマップした後、何をどのようにテストすればよいですか?
Index
コントローラーのアクションをテストしようとしています。このアクションは、AutoMapperを使用してドメインCustomer
オブジェクトをビュー モデルにマップしますTestCustomerForm
。Index
これは機能しますが、アクションから受け取った結果をテストする最良の方法について心配しています。
コントローラーの index アクションは次のようになります。
そして、TestMethod
次のようになります。
CreateTestController
私が使用する方法では、Rhino.Mocks
顧客リポジトリをモックし、顧客を返すように設定しますSetupCustomerForRepository
。Index
このようにして、アクションが を呼び出すと、リポジトリが目的の顧客を返すことがわかります_repository.GetCustomerByLogin(CurrentUserLoginName)
。したがって、等しい数を主張することは、を満たすのに十分であると考えていIndexShouldReturnCustomerWithMachines
ます。
それはすべて、私が何をテストすべきかについて懸念していると言いました.
- をキャストするのはおこがましいよう
result.ViewData.Model as TestCustomerForm
です。これは本当に問題ですか?この場合、私は本当にテスト駆動開発を行っているわけではなく、テストを満たすために特定の実装を当てにしているように見えるため、これは私にとって懸念事項です。 - 正しいマッピングを確認するためのより適切なテストはありますか?
- からマップされた各プロパティをテストする必要があります
TestCustomerForm
か? - もっと一般的なコントローラ アクション テストを行う必要がありますか?
rhino-mocks - MvcContrib Test ヘルパーと Rhino Mocks 3.5 で Server.MapPath をスタブ化しようとしています
MvcContrib のテスト ヘルパーと Rhino Mocks 3.5 を使用して、ASP.NET MVC アクション メソッドをテストしています。次のように偽のコントローラーを作成します。
そのため、偽の HTTP サーバーなどを含む偽のコントローラーを取得します。
次に、 Server.MapPath メソッドを次のようにスタブしようとしています
しかし、テスト中の私のメソッドでは、 Server.MapPath("/APP_DATA/Files/") への呼び出しは null を返します。
これがテストです
私は何が欠けていますか?
rhino-mocks - MvcContrib TestHelpers は完全な HTTPContext.Server オブジェクトを提供していないようです
したがって、MvcContrib TestHelpers は次のモック バージョンを作成します。
- HttpContext
- HttpRequest
- HttpResponse
- HttpSession
- 形
- 温度データ
- クエリ文字列
- アプリケーションパス
- パス情報
この種のコードを使用する場合の偽のコントローラー内
しかし、フェイク/モック サーバー オブジェクトを作成していないことに気付くでしょう。おそらく、そうではない正当な理由があります。しかし、SUT のメソッドがそれを使用し、もちろんテスト中に NULL を返すため、Server.MapPath() メソッドをスタブ化しようとしています。
TestHelpers は rhino モック (v3.5) を使用しており、私もそうです。メソッドをスタブ化する構文は知っていますが、メソッドをスタブ化できるように、サーバーのフェイク/モック オブジェクトをコントローラーに取得するにはどうすればよいですか?