問題タブ [autofixture]
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/AutoFixture で子供の嘲笑を止める
moq または Ploeh.AutoFixture.AutoMoq のいずれかがすべての子インターフェイスをモックしているときに、そのうちの 1 つを null にしたい場合に問題が発生しています。
私はNpocを使用しており、IDatabaseと呼ばれるインターフェースを持っています
IDbTransaction Transaction { get; }
nullにしたいので嘲笑されたくありません が、嘲笑されています。
次に、IDatabase インターフェイスを持つ IUnitOfWork もあります。
// コード
Transaction は読み取り専用プロパティであるため、null に戻す方法がわかりません。
mocking - このテストは AutoFixture と Moq を適切に使用していますか?
このテストは AutoFixture と Moq を適切に使用していますか? できるだけ簡潔に書かれていますか?予想どおり、テストは失敗し、正しい実装を記述した後に合格します。
autofixture - AutoFixture を使用して、親のプロパティに基づいて子オブジェクトのプロパティを割り当てるにはどうすればよいですか?
コレクションを持つOrder
オブジェクトがありますShipments
。Shipment
という性質がありますOrderId
。AutoFixture をカスタマイズして、order.Shipments.All(s => s.OrderId == order.Id)
真の順序を生成するにはどうすればよいですか?
私はすでに次のテクニックを試しましたが、成功しませんでした:
これを行う最善の方法は何ですか?
moq - AutoFixture.AutoMoq:読み取り専用プロパティに値を設定します
AutoMoqでAutoFixtureを使用しています。ゲッターはあるがセッターはないプロパティを持つクラスの偽のインスタンスを作成しようとしています。AutoFixtureがモックを構成して、セッターがなくても指定された値を返すようにすることを期待しています。
私のコードはそのようなものです:
残念ながら、この場合、「With」メソッドは機能しません。これは、自動フィクスチャがデータにセッターがないと言っているため、後でモックを直接呼び出して値を設定する必要があるためです。
自動フィクスチャがそれ自体でこれを実行できる方法はありますか?コードの最後の行は必要ありませんか?
編集:私は間違いを犯しました、コード例は機能しません。そのはず
それでも、偽のインスタンス用のwithメソッドがあればよいでしょう。
moq - 手動の偽物を使用したAutoFixtureを使用したAutoData理論
このシステムをテストする場合:
そして、この単体テスト:
AutoFixture.XunitとAutoFixture.AutoMoqを使用するように変換するにはどうすればよいですか(手動の偽物を使用している間)?
実際のテストでは、手動の偽物はより複雑なインターフェースと動作を持ちます。匿名変数(expectedResult文字列)を手動の偽物のコンストラクターに渡したいことに注意してください。
autofixture - AutoFixture Freeze、SemanticComparison Likeness、CreateProxyを使用して単純なテストに合格しないのはなぜですか?
単純なクラスの2つのインスタンスを使用するCreateProxy()
機能の使用方法を理解しようとしています。Likeness<T>()
次のテストでは、2つの文字列プロパティの値を持つインスタンスにaを使用Fixture
しCreate<T>
ますBand
。
私はさまざまなアサーションを試しましたが、問題の核心は、CreateProxy
メソッドがのプロパティを設定していないことであるようです。そのため、同じプロパティ値を持つのBand
2つのインスタンスを比較しようとしても、メソッドのインスタンスは常にnull値があります。Band
CreateProxy
私は何か間違ったことをしなければなりませんが、PloehブログとSOで見つけることができるすべてを読みました、そして私がしていることと比較するのに十分に単純な例を見つけることができません。何か案は?
c# - Ploeh AutoFixture は System.Runtime.Serialization.ExtensionDataObject からインスタンスを作成できませんでした
WCF サービスへの参照を含む MVC プロジェクトがあります。(ExtensionDataObject)ExtensionData
これらの参照により、すべての DTO および Response オブジェクトにプロパティが追加されAutoFixture
、これらの型の匿名インスタンスの作成に失敗するようになりました。
例:
コード:
例外:
Ploeh.AutoFixture.ObjectCreationException: Ploeh.AutoFixture.ObjectCreationException: AutoFixture は System.Runtime.Serialization.ExtensionDataObject からインスタンスを作成できませんでした。おそらく、パブリック コンストラクターがなく、抽象型または非パブリック型であるためです..
質問: このオブジェクトを AutoFixture 内に登録して、プロパティを持つすべてのオブジェクトでnull
実行できるようにインスタンス化する方法はありますか?CreateAnonymous
ExtensionData
c# - AutoFixture のカスタマイズで Dispose メソッドを呼び出す
AutoFixture カスタマイズを使用して、SQL Compact DB にアクセスするリポジトリをテストしています。
テストが完了したらすぐにこのデータベースを削除していただけると非常に助かります。db はカスタマイズ コンストラクターで作成されるため、削除するのに最適な場所は dispose メソッドであると思います。
私が考えているコードは次のとおりです。
同様のことを行うことは可能ですか?
c# - MoqAssert抽象メソッドが呼び出されます
AutoFixtureを使用してAbstractクラスの単体テストを作成しています。これは、私がやろうとしていることを表しています。
私の単体テストは次のようになります。
では、保護された抽象メソッドが実際にメソッドで呼び出されたことをどのように主張しますDoSomethingCool
か?
注入された依存性からのオブジェクトである場合、を使用してモックをセットアップし、メソッドが呼び出されたことを表明できますが、メソッドはテスト対象のサブジェクト内Moq
の抽象メソッドであるため、メソッドが呼び出されたことをどのようにアサートしますか?
unit-testing - ICustomization、ISpecimenBuilder で Autofixture (v3) を使用してコンストラクター パラメーターを処理するにはどうすればよいですか?
Autofixture によって生成された古い文字列 (Guid-y のような値) では満足できない文字列コンストラクター パラメーターがクラスにあるというシナリオを克服しようとしています。
Mark Seemann の Ploeh ブログ エントリ on Convention-based Customizations へのリンクで簡単に答えたくなる前に、私はこのテストのためにそれと彼の他のブログ エントリを参照していると言っておきましょう。合格。
デバッグをステップ実行すると、ある時点でコンストラクター パラメーターが有効な値で渡されていることがわかりますが、テストは Guid-y Color 値で失敗します。これは、「色」パラメーター値と、Autofixture によって入力される「色」プロパティの両方があるという事実と関係があると思います。コンストラクター パラメーターに対処する ISpecimenBuilder を作成しましたが、パブリック プロパティの値をテストしているのでしょうか (2 つの異なること)?
この例ではこれがやり過ぎであることはわかっていますが、Build<T>().With()
メソッドの使用が DRY ではない、より複雑なシナリオを想定しています。
失敗したテスト
SUT
CompositeCustomization の実装(この例では AutoMoqCustomization() は必要ないことはわかっています)
リーフ固有の ICustomization
色固有の ISpecimenBuilder を持つ文字列コンストラクター