問題タブ [fakeiteasy]
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# - Rhino が FakeItEasy で「期待」をモック化
UUT (Unit Under Test) の依存関係としてデータベース操作オブジェクトがあります。したがって、UUT がデータベースの変更を引き起こす可能性のある他のメソッドを呼び出さないようにしたいので、厳密なモックとして作成したいと考えています。
サイのモックでは、次のことを行いました。
- db オブジェクトから strictmock を作成しました
- アレンジに.Expect句を作りました
- Assert で VerifyAllExpectations を呼び出しました
しかし、FakeItEasy でこれを実行したい場合、コードを複製せずに実行する方法が見つかりません。CallsTo()+MustHaveHappened() パーツをアレンジに入れようとしましたが、テストが失敗しました。CallsTo()+MustHaveHappened() 部分を Assert に入れると、予期しない呼び出しが厳密な偽物に対して行われたため、テストも失敗します。CallsTo 呼び出しを Arrange と Assert の両方に配置せずにこれを行うことはできますか?
c# - C# の変数キャスト エラー
エラー --> タイプ「Castle.Proxies.ObjectProxy_2」のオブジェクトをタイプ「Vetserve.Messages.Shared.ICommand」にキャストできません。
commandBus.Send((ICommand)コマンド、commandRequest.MetaData); ライン
こんにちは、nunit テストを使用してテストしようとすると、このメソッドには以前のエラーがあり、どうすれば修正できますか
これは私のテストクラスです
c# - Linq 式パラメーターで FakeItEasy を使用する
FakeItEasy の使用方法を学習しようとしていますが、アクセスできる古いプロジェクトのデータ アクセス コードで使用してみました。FIE の基本は非常に簡単に思え、単純なケースを機能させることができましたが、これには困惑しました。
システムは Entity Framework を使用し、データ管理クラスの 1 つはユーザーを処理します。基本的な機能だけをテストする方法を見つけようとしていGetUserByUserNumber
ます。IPersistenceManager<User>
UserDataManager クラスをインスタンス化するときに偽物を使用してからGetUserByUserNumber
メソッドを呼び出すことができますが、呼び出されたことを確認するアサーションuserPersistenceManager.ReadCustom
は常に失敗します。
false で Delete メソッドを呼び出してみましたがuserPersistenceManager
、そのアサーションは正常に機能します。ReadCustom
メソッドが最初のパラメーターとして取るLinq式と関係があると思います。私はそれをどのように処理すればよいのかわかりません。これについての助けをいただければ幸いです!
これは、テストしようとしている UserDataManager のメソッドです。
これは、確実に呼び出されるようにしたい IPersistenceManager メソッドです。
これは私の単体テストです:
c# - Func かどうかをテストする方法FakeItEasy フレームワークを使用して呼び出されましたか?
FakeItEasy フレームワークを使用して Func が呼び出されたかどうかを確認する方法は?
例:
c# - FakeItEasy によるドメイン サービスのテスト + UnitOfWork
ドメイン層にそれらを含めることができるように、単体テストの実験を始めました。ただし、正しい道をたどっているかどうかはわかりません。したがって、正しい道を進んでいるかどうかを確認するために現在行っていることを説明します。基本的なアーキテクチャは次のようなもので、ドメイン モデルとドメイン サービス (例: User クラスと UserService クラス) を含む Domain Layer があります。次に、ドメイン層は、作業単位とともに汎用リポジトリ パターンを実装する DAL と通信します。コンストラクター内の各ドメイン サービス クラスは、次のような IUnitOfWork インターフェイスを受け入れます。
単体テストを作成するために、FakeItEasy フレームワークを使用することにしました。したがって、 UserServiceTest クラスで次のことを行いました:-
テストを実行すると、合格します。単体テストを実装する正しい方法ですか? 別のアプローチを試みる前に、FakeItEasy は ProxyGenerator 例外で失敗していました。私がやっていたことはこれです:-
そして、これは以下の例外をスローしていました:-
どんなフィードバックでも大歓迎です。ありがとう!
c# - FakeItEasy を使用して Enumerable クラスを偽造する方法
コードのテストを使用/実行/作成することを学んでいて、フェイク/モックオブジェクトに FakeItEasy を使い始めましたが、問題が発生しました:
実装する次のクラスと実装するIEnumerable
内部クラスがありますIEnumerator
(以下の完全なコードではありません):
テストで FakeItEasy を使用し、その反復動作を「偽造」したいのですが、次のコードを試しましたが、必要に応じて反復しません (要素がないように foreach をスキップするだけです)。
たとえば、ネットを検索しようとしましたが、何も見つかりませんでした。今のところ私の質問はstringFake.GetEnumerator()
、反復が機能するように正しいオブジェクトを返すように構成する方法ですか、それともここで何か間違ったことをしていますか?
どんな助けでも大歓迎です。
ありがとう
fakeiteasy - FakeItEasy から返された Fake オブジェクトの基になる Type を見つけるにはどうすればよいですか?
終わったよ
次に、偽物で「リフレクション」を使用して、依存関係を依存関係コンテナーに MyType として登録します。ただし、基になる偽の型を取得する方法がわかりません。ポインタはありますか?
autofac - Fake IContainer から解決しようとすると ComponentNotRegisteredException が発生する
型のインスタンスを解決するプログラムの一部をテストしようとしています。これを行うために、偽の IContainer を作成しました。
ただし、このコード行に到達すると:
ComponentNotRegisteredException をスローしています。
偽の IContainer はどのようにしてその例外をスローすることを知っているのでしょうか? 偽のコンテナーは、実装ではなく、単にインターフェイスの偽物でなければなりません。何が起きてる?
c# - FakeItEasy を使用したメソッド内でのメソッドのモック
別の関数で呼び出された関数からの結果をモック/偽造するにはどうすればよいですか? 通常、Test2 は、実際のデータを取得したくない DataAccess メソッドになります。単体テストでテストしたいのは、ビジネス ロジックです。
これは私が今持っているものですが、まったく機能していません。Sum は常に 5 としてアサートされます。
次に、「ビジネスロジック」で実行したいユニットテストがあります。