問題タブ [automoq]
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# - AutoFixtureは匿名MVCコントローラーの作成に失敗します
コード:
例外:
System.Reflection.TargetInvocationException:System.Reflection.TargetInvocationException:呼び出しのターゲットによって例外がスローされました。---> System.NotImplementedException:メソッドまたは操作が実装されていません。
MyController()
3つのパラメータを取ります。
ここの回答に記載されている修正を試しましたが、機能しません。
unit-testing - Automoq ドキュメント
私は Automoq を使い始めています。私はこのようなことをしようとしていました:
これは実行されますが失敗します。プロパティが設定されません。Automoq のアイデアを見逃していますか? 優れたリソース/チュートリアルとは?
moq - Autofixture: AutoMoqCustomization と SetupAllProperties を使用して、モック化されたインターフェイスのすべてのプロパティを埋めますか?
Autofixture をセットアップして、インターフェイスの匿名を作成しようとしています。AutoMoqCustomization を使用していますが、エラーが発生し続けます。
私のコードは
実際にはエラーが発生しSetupAllProperties
ます
System.ArgumentException : オブジェクト インスタンスは Moq によって作成されませんでした。パラメータ名:モック
私が間違っていることを知っている人はいますか?
c# - AutoFixture.Xunit の [Frozen] が機能しない
いくつかのボタンを含む単純な ViewModel があります。これらのボタンの可視性は、この VM の唯一のコンストラクタ パラメータでもある PaP Prism の EventAggregator で発生するイベントによって変更できます。AutoFixture を使用しない場合、対応するテストは問題なく動作します。
残念ながら、AutoFixture によって ViewModel に注入された EventAggregator インスタンスは、テストに注入されたものとは別のインスタンスであるため、ここで指定されているようには機能しません。
[凍結] 属性が期待どおりに機能しないように思えますが、すべてが正しく行われたかどうかもわかりません。また、Register ではなく Inject が機能しない理由も知りたいと思いました。私は彼らに違いがないことを期待していたでしょう。
ご協力ありがとうございました。
編集:バージョン3.7を使用しています
c# - 名前付き Unity リソースを含むこの単体テストのモックを設定する正しい方法は何ですか?
特定の Unity IoC オブジェクトがインスタンス化されたことを確認する単体テストを作成したいと考えています。
たとえば、これが私がテストしているクラスです。
そして、ここに私が設定した単体テストがあります
私が遭遇した問題は、名前付きの型が利用できない場合、Unity 2.0 がデフォルトのインスタンスにフォールバックしないことです。したがって_container.Resolve<IUploadModule>("Patients")
、クライアント テストが完全に機能する行をコメント アウトすると _container.Resolve<IUploadModule>("Clients")
、患者テストが完全に機能する行をコメント アウトすると、両方が共存できるようにする方法がわかりません。
編集: 通常の操作では、このように 2 つのオブジェクトを並べ替えています。
c# - コードが呼び出しているにもかかわらず、moq が私のモックのプロパティ セッターが呼び出されないと主張するのはなぜですか?
次の単体テストがあります。
これを渡すために私が書いたコードは次のとおりです。
ただし、次のVerifySet
エラーで失敗します。
少なくとも 1 回はモックでの呼び出しが期待されていましたが、実行されませんでした: x => x.Path = "C:\test"
セッターが呼び出されないと主張しているのはなぜですか? それがまったく役立つ場合FileSystemWatcherBase
は、抽象クラスです。
c# - Moqでラムダ構文を使用して既存のモックを設定するには?
Moqには、次を使用してゼロからモックを作成できる新しい構文があります。
モックを自分で作成しない場合もあります (例: AutoData Theoriesを使用する場合)。次に、古い構文を使用してモックを設定する必要があります
私はこれが2つの理由で好きではありません
- 読みにくいです(私見)
- 古い構文と新しい構文を混在させる必要があります。
次のようなものを使用して既存のモックをセットアップしたいと思います
- これは可能ですか?
- いいえの場合、それはロードマップにありますか?
既存のモックにも新しい構文が導入されると思います。 - いいえの場合、どうすればこれを自分で実装できますか?
Mock.Get<>()
と の使い方、およびMock.Of<>()
モックとモック オブジェクトがどのように関連し ているかは既に知っています。
Moq は、Linq を Mocks に提供する最初で唯一のフレームワークでもあるため、上記と同じ動作をより簡潔に実現できます。
新しいモックを作成してセットアップするには、古い方法と新しい簡潔な方法の 2 つの方法があるため、既存のモックのセットアップも含めて引き継がれることを期待していました。