問題タブ [moq]
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.
c# - moq を使用してコントローラー コンテキストをモックする方法
私は MOQ フレームワークを試していますが、今は障壁にぶつかっています。ViewName プロパティの実際の値が空の文字列であるため、次の単体テストは失敗します。
これがテストに合格しない理由について、誰かが私を正しい方向に向けてもらえますか?
以下も、空の ViewName を生成します。
モックと優れた TTD を示す Web 上の例から、上記の最初の単体テストの例のいずれかを機能させるために必要な他の配管について混乱しています。
乾杯、
アンドリュー
c# - Moq:HttpContextに依存するメソッドの単体テスト
.NETアセンブリのメソッドについて考えてみます。
Moqフレームワークを使用した単体テストからこのメソッドを呼び出したいと思います。このアセンブリは、Webフォームソリューションの一部です。単体テストは次のようになりますが、Moqコードがありません。
質問:
- Moqを使用して、「MyDomain \ MyUser」のような値を持つ偽のHttpContextオブジェクトを配置するにはどうすればよいですか?
- その偽物をで静的メソッドへの呼び出しと関連付けるにはどうすればよい
MyIdentityBL.GetSecurityContextUserName()
ですか? - このコード/アーキテクチャを改善する方法について何か提案はありますか?
c# - モックされたオブジェクトを返すメソッドを (moq で) モックする正しい方法は?
正しいのはどれか。
また
最初のアプローチは正しいと思いますが、Moq が内部で何らかの魔法をかけていて、検証したかっただけなのかどうかはわかりません :)
c# - Moq ベースの単体テストでの TargetParameterCountException
「保存」メソッドを持つリポジトリがあります。また、エンティティが保存されるたびに「Created」イベントをスローします。
私たちは Moq を使ってリポジトリをモックアウトしようとしています....
これは機能していないようで、常に例外が発生します。
System.Reflection.TargetParameterCountException: パラメーター数が一致しません。
Moq でイベントをモックする例は役に立ちます。
unit-testing - モック オブジェクトに対する期待が満たされていないようです (Moq)
Moq で奇妙な動作が発生しています。特定の方法で動作するようにモック オブジェクトをセットアップし、テストしているオブジェクトでまったく同じ方法でメソッドを呼び出すという事実にもかかわらず、メソッドがあったかのように反応します。呼んだことはありません。
テストしようとしている次のコントローラー アクションがあります。
私のユニットテストコード:
whereAssertThat
は、一連のアサーション ヘルパーを備えた単なる独自のクラスです (Assert
クラスは拡張メソッドで拡張できないため... ため息...)。
テストを実行すると、次のrepository.Verify()
行で失敗しMoqVerificationException
ます。
を削除するrepository.Verify()
と、コレクション アサートが失敗し、返されたモデルが であることがわかりますnull
。私はそれをデバッグしてチェックし、コードが実行query != null
されるブロックの一部に取り込まれていることを確認しました。if
問題ありません。
なぜこれが機能しないのですか?
c# - これはMoqで嘲笑できますか?
私はいくつかの外部依存関係のモックに取り組んでおり、別のサードパーティ クラスのインスタンスをコンストラクターに取り込むサードパーティ クラスで問題が発生しています。SOコミュニティが私に何らかの方向性を与えてくれることを願っています。
SomeRelatedLibraryClass
のモックインスタンスをコンストラクターに取り込むのモックインスタンスを作成したいと思いますSomeLibraryClass
。どうすればSomeRelatedLibraryClass
このように嘲笑できますか?
リポジトリコード...
これは、テスト コンソール アプリケーションで使用している Main メソッドです。
これは、1 つのサードパーティ クラスをラップして Moq できるようにするために使用したクラスです。
私が使用しているサードパーティ クラスの 2 つの例を次に示します (これらは編集できません)。
unit-testing - 非常に簡単な方法の単体テスト(はいまたはいいえ)
次のような方法があるとします。
ユニットテストを書いていただけませんか?
後で、メソッドの実装を変更して、次のようなより「複雑な」ことを行う場合は、次のようになります。
...単体テストは失敗しますが、おそらくアプリケーションを壊すことはありません...
質問
リターンタイプ*または**内部モック以外のものを変更しないメソッドでユニットテストを作成することさえわざわざする必要がありますか?
c# - Moq は It.IsAny を変換しますIt.IsAny に期待して
私は単体テストに Moq を使用しており、次のような期待値を設定しました。
それが嘲笑している方法は次のとおりです。
これは正常にビルドおよび実行されますが、VerifyAll() が渡されず、次のエラーが表示されます。
そのため、何らかの理由で例外を文字列に変更しています....
誰かがこれを前に見たことがありますか/なぜこれを行っているのか、それを修正/回避するために何ができるか考えていますか?
ありがとう!
asp.net-mvc - モックされた HttpContextBase のプロパティの設定
私は ASP.NET MVC アプリケーションに取り組んでおり、コントローラー アクションに対していくつかの単体テストを作成しようとしています。そのうちのいくつかは、Session、Request.Cookies、Response.Cookies などの HttpContext のプロパティを操作します。 「アレンジ、アクト、アサート」の方法を理解するのに苦労しています...アレンジとアサートを見ることができます...しかし、モックされた HttpContextBase のプロパティですべてのプロパティを「アクト」する方法を理解するのに問題がありますゲッターしかありません。コントローラー アクション内からモック コンテキストに何も設定できないので、あまり役に立ちません。私は嘲笑にかなり慣れていないので、何かが欠けていると確信しています。プロパティ値、そして後でそれらがまだ私が設定したものであるか、またはそのようなものであることをアサートします。私は何が欠けていますか?