問題タブ [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.

0 投票する
2 に答える
1645 参照

unit-testing - FakeItEasy の JustMock の ReturnsCollection() と同等ですか?

JustMockを使用すると、次のように Linq to SQL のリストを使用して DataContext テーブルを簡単にモックできます。ここでは、ReturnsCollection() を介して IEnumerable が各 DataContext のテーブルの代わりになり、偽のデータをプラグインできます。

そして、これがテスト対象のメソッドになります。

できれば FakeItEasy で、Linq to SQL をテストする目的でIEnumerable<T>代わりに使用できる同じ魔法を実行する方法を探しています。Table<T>

0 投票する
2 に答える
3732 参照

unit-testing - FakeItEasy A.CallTo() からさまざまなオブジェクトを返します

私のテストでは、スタブの最初の呼び出しで 1 つのオブジェクトを返し、次の呼び出しで別のオブジェクトを返す必要があります。record() ブロックの他のモック オブジェクト フレームワークでこれを見たことがありますが、FakeItEasy でそれを行う方法がわかりませんでした。FakeItEasy は当店で義務付けられているフレームワークであり、AutoFixture を使用してフェイクを生成しています。

NextCallを見てみましたが、戻り値を指定できないようです。

これが私がやりたいことのアイデアです:

どんな助けでも大歓迎です。

0 投票する
1 に答える
1811 参照

c# - FakeItEasy オブジェクトに対するこの MustHaveHappened 呼び出しが MSpec で失敗するのはなぜですか?

次のテストを実行すると、すべてのアサーションが失敗します。実際の実装にはオブジェクトへの呼び出しがあるため、失敗する理由を理解できません。

これは既知のバグですか? 他のいくつかのテストは成功するためです。

次の呼び出しでアサーションが失敗しました: Outlook.Contracts.IOutlookFolderParameters.get_NotificationsFolder() 少なくとも 1 回は見つかるはずですが、偽のオブジェクトへの呼び出しは行われませんでした。

FakeItEasy.Core.FakeAsserter.AssertWasCalled(Func 2 callPredicate, String callDescription, Func2 repeatPredicate, String repeatDescription) で FakeItEasy.Configuration.RuleBuilder.MustHaveHappened(Repeated repeatConstraint) で UnitTests.When_running_Pst_CleanUp.<.ctor>b__2() で When_running_Pst_CleanUp.cs: 19 行目

0 投票する
1 に答える
766 参照

mocking - FakeItEasy CallsBaseMethod ネストされた Fake CallTo は呼び出されません

CallsBaseMethod と CallTo を混在させようとしていますが、セットアップしたものを呼び出していません。以下のコードと私のコメントをご覧ください。これを機能させる方法や、FakeItEasy を使用した別のアプローチはありますか?

注: この質問もGitHubに投稿しました。これはこの質問に 似ているようですが、まとめることができません。だから私が電話するとき

この例外が発生します: {X} メソッドが例外をスローしました: System.ArgumentException: タイプ '' の式は、タイプ 'System.Linq.IQueryable 1[Company]' of method 'System.Linq.IQueryable1[Company] Where[Company] (System.Linq.IQueryable 1[Company], System.Linq.Expressions.Expression1[ System.Func`2[Company,System.Boolean]])'

0 投票する
2 に答える
8555 参照

c# - フェイク イット イージー - A.Ignored() 文字列付き - A.Ignored()

文字列パラメーターとブール値の戻り値を持つメソッドがあります。常に true を返すようにしたい

私は試した

今、私は次の例外を受け取ります

System.ArgumentException: 指定されたオブジェクトは偽のオブジェクトとして認識されません。結果 StackTrace: FakeItEasy.Core.DefaultFakeManagerAccessor.GetFakeManager(オブジェクト プロキシ) FakeItEasy.FakeFacade.GetFakeManager(オブジェクト フェイクオブジェクト) FakeItEasy.Configuration.FakeConfigurationManager.CallTo(オブジェクト フェイクオブジェクト) FakeItEasy.A.CallTo(オブジェクト フェイク) [.. .]

私は何を間違っていますか?

0 投票する
2 に答える
5907 参照

c# - 同じオブジェクトの別のメソッドで FakeItEasy の A.CallTo() を使用する

FakeItEasy を使用して、オブジェクトのメソッドがこの同じオブジェクトの別のメソッドを呼び出しているかどうかを確認するにはどうすればよいですか?

テスト:

クラス:

私は提案を受け入れます。私がこれについてすべて間違っている場合は、私に知らせてください。

0 投票する
1 に答える
904 参照

c# - C# で FakeItEasy を使用して INI 構成ファイルの設定を偽装する

抽象構成クラスから継承するクラスがあり、各クラスは INI ファイル、XML、conf、または独自の形式のリーダーを実装します。FakeItEasy を使用してテスト対象のオブジェクトを作成する際に問題が発生しています。

私がテストしようとしているオブジェクトは、依存性注入を介して構成オブジェクトを使用するため、ReadString()、ReadInteger() などの関数を呼び出して構成設定を読み取ることができます。次に、場所のテキスト (セクション、キーのインスタンス、INI を使用) は、構成ファイルの形式 (INI、XML、conf など) に関係なく、適切なセクションから取得できます。

使用されているサンプル コード:

簡単なテストの例:

これは正常にコンパイルされますが、コードを実行すると、次の例外が発生します。

例外なく機能する偽物の作成方法を変更すると、同じ関数へのさまざまな呼び出しに対して異なる値を取得できなくなります。

上記の方法では、関数が INI に対して使用するさまざまな呼び出しの戻り値を制御できません。

パラメータの where と test という 2 つの方法をどのように組み合わせることができますか?

要求に応じた追加の定義: