問題タブ [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-3 - コントローラーの単体テスト中に NullReferenceException を取得しました
NUnit、MvcContrib.TestHelper パッケージを使用して MVC3 サイトの単体テストに取り組んでいますが、テスト メソッドが TryUpdateModel を持つコントローラーにアクセスすると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」という例外に直面しています。試験に合格するために何をすればよいかわかりません。これで私を助けてください。
そのためのコードも提供しています:
テストメソッドが呼び出すコントローラーからのアクションを以下に示します。
上記のアクションを呼び出すテストメソッドを以下に示します。
問題の解決策を教えてください。
asp.net-mvc - 部分ビューをレンダリングするコントローラー拡張機能の単体テストに関する指示を探しています
タイトルが示すように、コントローラー拡張機能を適切にテストする方法についての指示を探しています。この拡張機能は、JSONResult 内で使用している部分的なビューをレンダリングします。
使用例:
私は NUnit とMvcContrib テスト ヘルパーを使用していますが、この拡張機能を使用するコントローラーをセットアップすると、NRE が発生します。コントローラーのコンテキストが正しく設定されていないと思いますか?
最終的に、テストは にバーフィングしていViewEngines.Engines.FindPartialView
ます。失敗したテストの一部を次に示します。
asp.net-mvc - MvcContrib TestHelper を使用して、インバウンド ルートをマップすべきではないことをアサートする
MvcContrib.TestHelper.RouteTestingExtensions
ShouldNotMap という名前のクラスのメソッドを探しました。IgnoreRoute
ShouldBeIgnored はありますが、呼び出しをテストしたくありません。特定の着信ルートがどのリソースにもマップされるべきではないことをテストしたいと思います。
MvcContrib TestHelper を使用してこれを行う方法はありますか?
アップデート
これを試しただけで、うまくいくようです。これは正しい方法ですか?
asp.net-mvc - これは MvcContrib TestHelper OutBoundUrl クラスのバグですか?
MvcContrib TestHelper の静的OutBoundUrl
クラスを使用して、MVC 領域でアクション メソッドの送信 URL をテストしようとしています。ここに私が持っているものがあります:
ソースに足を踏み入れたところUrlHelper
、アウトバウンド URL に対して が null を返していることがわかりました。基本的に、新しい UrlHelper を作成し、タスクを に委任しますUrlHelper.Action(action, controller, routeValues)
。
呼び出されると、routeValues
何も含まれません (アクション メソッドは引数を取りません)。これはバグですか?それとも、これをエリアで機能させるために何か特別なことをする必要がありますか? 単体テストでは、次の行が上記の行の直前にあるため、ルートが登録されています (100 以上のUrlHelper.RouteCollection
ルートが含まれています)。
ルートには名前が付けられていません。名前を付けたくないので、このOfRouteNamed
方法を使用することを提案しないでください。
アップデート
1つのことを除いて、機能する拡張メソッドを作成しました。OutBoundController
Of<TController>
メソッドには次のコードがあります。
RouteTestingExtensions
ShouldMapTo<TController>
このメソッドには、類似しているが決定的に異なるコードがあります。
あなたが使用する場合、ActionName()
拡張メソッドは一種の素晴らしいですActionNameAttributes
:
質問に戻ります... これは仕様によるものですか? もしそうなら、なぜですか? 拡張機能をOutBoundUrl
使用しないという事実は、 ..ActionName()
[ActionName]
asp.net-mvc-3 - MvcContrib.TestHelper AssertViewRendered で T4MVC を使用するときに既定のビューをテストするにはどうすればよいですか?
ASP.NET MVC 3 プロジェクトで T4MVC を使用しています。次の基本的なテストがあります。
コントローラー メソッドが既定のビューを返す場合、テストは失敗します。
与えられたエラーは次のとおりです。
しかし、 をオーバーライドしてどちらを返すView
かを指定すると、テストはパスします。viewName
次のアサーションを使用してみましたが、まだうまくいきません:
次のエラーが発生します。
その後、アサーションの失敗を読み間違えたことに気付いたので、テストを次のように変更しました。
テストはパスしますが、テスト自体は役に立たないようです。
すべてのビューを名前で指定する必要がないようにしたいので、どうすればこれをテストできますか? 明確にするために、今日 NuGet からインストールしたMvcContrib.Mvc3.TestHelper-ci 3.0.96.0を使用しています。
アップデート
これは質問に対する答えではありませんが、代わりに次のことを始めました。これにより、テスト ケースとしてより多くの価値が得られます。
asp.net-mvc-3 - TestHelper を介してルーティング制約をテストする
次のルートがあります。
これをテストするテストは次のとおりです。
次に、制約をテストします。したがって、URL「~/Companies/df」はコントローラーにマップされるべきではありません。
誰もそれをテストする方法を知っていますか?
unit-testing - MVCContrib TestHelperおよびUser.Identity.Name、Server.MapPath、およびフォームコレクション
私はMVCContribTesthelperを初めて使用し、Rhinoをあざける。
User.Identity.Name、Server.MapPath、およびFormCollectionに依存するコントローラーの単体テストについて支援が必要です。
私はから始めました
User.Identity.Nameを設定するためのこの投稿を見つけました
この時点で、コントローラーでUser.Identityにアクセスできるようになりました。問題は、フォームコレクション変数を設定する方法になりました。設定
もう動作しません。今、私は経由でアクセスしなければならなかったようでした
これは機能しているように見えましたが、この時点で、上記のbuilder(TestControllerBuilder)を使用していません。
次に、サーバーをモックする必要があり、さらに問題が発生しました。どうすればビルダーを使い続けることができますが、httpContext、HttpRequest、Serverなどにモックまたはスタブを使用できます。ビルダーにはHttpRequest、Serverなどの期待値を設定するメソッドがあると期待していました。
ありがとう
asp.net-mvc - MVCアクションがHTTPPOST経由でのみアクセス可能であることをテストするにはどうすればよいですか?
MvcContrib-TestHelperを使用して、アプリのルーティングをテストしています。HTTPPOSTのみに制限されているアクションがあります。
そして、これは失敗するはずのテストの例です:
ただし、テストは合格です。これも提起されたもう1つの未回答の質問(申し訳ありませんが、間違ったリンク)を見ましたが、機能が壊れているようです。このルートがPOST経由でのみアクセス可能であることをテストするためのより良い方法は何ですか?
unit-testing - MvcContribを使用したコントローラーとビューのユニット/統合テストは、実行時にエラーをスローします
MVC 4 Webアプリケーションのテストの世界にかなり慣れておらず、テストビューとコントローラーをユニット化して、アクションが特定のビューをレンダリングする特定のコントローラーについて、MvcContribTestHelperを使用して次のプロセスを単純化しようとしているかどうかを確認しようとしています。アプリケーションをテストしていますが、これまでのところ、テストに合格することはできませんでした。
テストを実行すると、エラーが表示されます。予期されるビュー名は「インデックス」でした。実際は「」でした。
現在、私はこのテストメソッドを実行しています:
コントローラとモデルの両方が現在アプリケーションで使用されています。このテストをどのように機能させるかについてアドバイスをいただけないでしょうか。これを行ったときに以前に変更しましたが、ルート名がコレクションにすでに存在するという別のエラーが発生します。 。
c# - 「ソリューションですべてのテストを実行」を使用するとテストが失敗する
MVC 4 Web アプリケーション プロジェクトの単体テストを正常に実行しようとしています。
テストクラスを個別に実行すると、すべてのテストがパスし、ソリューションですべてのテストを実行するときは 2/9 パスのみで、[Debug Checked Tests] をクリックし、ヒットを再度実行するとすべてパスします。
この問題は、プロジェクトを TFS にチェックインしたときにも再現されます。プロジェクトがビルドし、テストを実行し、まったく同じテストで失敗する継続的インテグレーションをセットアップしました。
私が戻ってきたエラーは、*「'' という名前のルートはすでにルート コレクションにあります」です。
なぜこれが起こっているのか、誰にも考えがありますか?
各クラスには、以下に示す [TestInitialize] ブロックがあります。
TestControllerBuilder を含めていなかったときに、クラスで同様のエラーが発生しました。このコードが正しく実行されていない可能性がありますか?