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

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

.net - 戻り値の型でのみオーバーロードされる 2 つのプロパティを持つ .NET 型を出力するにはどうすればよいですか?

同じ名前の 2 つのプロパティを持ち、戻り値の型だけが異なる型を作成する必要があります。反射を介してこのタイプを動的に放出することは完全に許容されます。

このようなもの:

このプロパティを C# や VB.NET、または他の多くの .NET 言語から使用できないことは理解しています。

なぜこれをしたくないのかを説明する答えを避けるために、なぜそれが必要なのかを説明させてください.バグを再現するために必要です.

より具体的には、AutoFixtureにバグがあり、あるタイプのMoqによって特定のケースで例外がスローされることがあります。問題は、Moq によって発行された型に、戻り値の型のみが異なる 'Mock' という名前の 2 つのプロパティが含まれていることです。

単体テストでこのシナリオを再現したいのですが、その 1 つの理由だけで Moq に依存したくないので、テスト スイートの内部で動作を再現したいと思います。

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

c# - AutoFixtureリファクタリング

ユニットテストが大量のデータ設定で肥大化したため、 AutoFixturehttp : //autofixture.codeplex.com/を使い始めました。単体テストを作成するよりも、データの設定に多くの時間を費やしていました。これが私の最初のユニットテストがどのように見えるかの例です(DDDブルーブックの貨物アプリケーションサンプルから取られた例)

AutoFixtureでリファクタリングしようとした方法は次のとおりです

それをリファクタリングするより良い方法があるかどうか知りたいです。それよりも短くて簡単にやりたいです。

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

tdd - テスト対象のTDDシステム作成パターン(AutoFixture)

SUTファクトリの「パターン」を使用してSUTを作成しようとしています。

SUT構造が与えられた場合:

私はAutoFixtureを使用していますが、次の仕様と関連するSUTファクトリメソッド[貴重ですが]忙しい作業を折りたたむための最良の方法は何でしょうか。

次のようなものに:

また:

つまり、すべての工場のジャンクを削除して、私の仕様が次の状態への移行に簡単に対処できるようにします。

自動モッキングコンテナの概念と重複していますが、私はまだゴールデンハンマーを探していません-一度に0または1つのものをモックし、それでも依存オブジェクトの作成をカスタマイズできる方法です。依存関係のセットが変更されるたびに、Sutコンストラクターへの明示的な呼び出しを再検討します。

(xUnit.net(SubSpecスタイル)、Moq、Ninject2も使用しています(ただし、私の仕様ではDIを使用したくありません))

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

c# - Fixture.CreateAnonymousメソッドは、AutoMoqを使用してコントローラーを作成するときにエラー(AutoFixture)でテストランナープロセスを強制終了します

AutoFixtureでAutoMoqCustomizationを使用して、Fixture.CreateAnonymousメソッドを介した単体テストでASP.NETMVC2コントローラーを作成しようとしています。TestDriven.NETのxUnit、xUnitテストGUI、およびMSTestの両方で試しましたが、すべて同じ結果になりました。テストを実行するプロセスの大規模な失敗です。それが重要な場合は、Windows7x64で。

再現するには、新しいASP.NET MVC2プロジェクトを作成し、AutoFixture、AutoMoq、およびMoq(AutoMoqソースによる3.1)への参照を追加して、以下を試してください(以下のVS2010 MVC2プロジェクトリンクを再現)。

MSTestでは、エラーは次のようになります。

ランタイムで致命的なエラーが発生しました。エラーのアドレスは、スレッド0x2684の0x6465f370にありました。エラーコードは0xc0000005です。このエラーは、CLRのバグ、またはユーザーコードの安全でない部分または検証できない部分のバグである可能性があります。このバグの一般的な原因には、COM-interopまたはPInvokeのユーザーマーシャリングエラーがあり、スタックが破損する可能性があります。

AfWithMvc再現プロジェクト(SkyDriveから)

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

c# - IListコンストラクターパラメーターとAutoFixture

autofixtureを使用して、次の匿名インスタンスを作成しようとしていますProject

これは失敗し、Projectパブリックコンストラクターの要求を引き起こしますIList<Partner>

スタックトレースは意味がありません(少なくとも私にとっては)。ほんの少しの反射やだやだ:

失敗:System.Reflection.TargetInvocationException:呼び出しのターゲットによって例外がスローされました。
---- System.ArgumentException:値が期待される範囲内にありません。
System.RuntimeMethodHandle._InvokeConstructor(IRuntimeMethodInfo method、Object [] args、SignatureStruct&signature、RuntimeType declaringType)で

それで、autoFixtureを構築するために、パートナーの匿名コレクションでautoFixtureがパスすることを確認するにはどうすればよいですか?


のせいではありませんIList<Partners>。と呼ばれる別のパラメータがありますPriorityPriorityそれ自体がコンストラクターを保持しMeasureMeasure保持しIList<Indicator>、呼び出します。Guard.AgainstEmpty(indicators)

したがって、次のようになります。

メソッドで構築が失敗しますGuard.AgainstEmpty。だから-問題は-fooを構築する前にAutoFixtureがバーコレクションのいくつかのバーを埋めることを確認する方法は?

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

autofixture - AutoFixture 2 With() は、AutoFixture 1 のように機能しませんか?

テストをAutoFixture 2.0に移植していますが、説明も修正もできない奇妙な動作に遭遇しました。この簡単なテストは私にとって失敗しています:

Nameの別のプロパティに変更すると、テストは成功します。これにより、 AutoFixture 1.0 を使用していたときに機能しなかったFile何らかのカスタマイズが存在すると考えられます。Nameただし、コードを精査しましたが、そのようなものは見つかりません。

トレースを有効にしてもあまり役に立たないようです。

ディスプレイなど:

FWIWNameは、 の基本クラスの仮想プロパティとして宣言され、次のようFileにオーバーライドされFileます。

私が試すかもしれない何か、またはNameプロパティの動作をうっかりカスタマイズしてしまった可能性がある場所について誰かがアイデアを持っている場合は、非常に感謝しています!

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

moq - AutoFixture AutoMoqとは何ですか?

AutoFixture AutoMoqに気付いたとき、私はnugetを見ていて、moqをインポートしたいと思っていました。AutoFixtureはTDDの記述を高速化するのに役立つと思いますが、AutoMoqの例と、AutoFixtureとの違いを見つけることができません。

誰かが私にこのAutoMoqを教えてくれるので、それが何をしているのかを見ることができます。

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

c# - シードされたプロパティを使用した AutoFixture ビルダーのカスタマイズ

統合テスト用にカスタマイズされた自動フィクスチャ ビルダーがあります。コードは以下です。

質問 1 - 現在、最初のトランザクションの TransactionViewKey.TransactionId は 1 などです。TransactionViewKey の TransactionId を設定して、メソッド パラメータの beginTransactionId からシードされるようにするにはどうすればよいですか? たとえば、最初の TransactionId が 200 で、それぞれが 1 ずつ増加する TransactionViews の配列を返しますか?

質問 2 - transactiondate を決定するためのラムダは 1 回だけ実行されるように見えるため、各日付は同じ値です。一度だけではなく、生成されたインスタンスごとにランダム日付ジェネレーターを実行するようにビルダーをセットアップするにはどうすればよいですか?

ありがとう

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

autofixture - ネストされたコレクションを持つクラス - ネストされたクラスにデータを入力するにはどうすればよいですか?

クラスを別のクラスのネストされたコレクションで水和することについて、私は少し混乱しています。エラーが発生します:

AutoFixture は System.Collections.Generic.IList`1[typename...] からインスタンスを作成できませんでした

Fixture.Register()内部クラスを設定するための型を登録するために使用しようとしました。私はちょうど示すサンプルで行うことができます

  1. メインクラス
  2. 別のクラスのネストされたコレクション (IList/IEnumerable)。

古いものとしてマークされていることにも気付きましたが、CodePlexRegister()のメソッドに関するドキュメントがないInject()ため、これがどのように機能するかについて困惑しています。

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

c# - AutoFixture を使用して匿名クラスの IList を作成する方法

以前、次のリンクに質問を投稿しました。

ネストされたコレクションを持つクラス - ネストされたクラスにデータを入力するにはどうすればよいですか?

同じことができるようにする必要がありますが、ネストされたクラスを使用します。

そのようです:

私はこれを試しました:

しかし、これは機能していません。何かアイデアはありますか? AutoFixture 2.0 を使用しています。