問題タブ [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 投票する
2 に答える
1598 参照

c# - AutoFixtureはオブジェクトの作成時にデリゲートを実行できますか?

AutoFixtureの作成時の動作をカスタマイズして、フィクスチャのプロパティが生成および割り当てられた後にいくつかの依存オブジェクトを設定できるようにしたいと考えています。

たとえば、特定のテストセットではプロパティが常にfalseである必要があるUserため、をカスタマイズするメソッドがあるとします。IsDeleted

ObjectBuilder必要に応じてフィクスチャをさらにカスタマイズできるように、テストに戻します。)

私がやりたいのはId、作成時にそのユーザーを匿名コレクションに自動的に関連付けることですIdが、戻り値を単体テストに返すまでに生成されていないため、これをそのまま行うことはできません。ちゃんとした。これが私がやろうとしていることのようなものです:

このようなことは可能ですか?または、匿名オブジェクトグラフを作成するという私の目標を達成するためのより良い方法がありますか?

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

c# - AutoFixture: Open Generics Specimen Builder の構成

Open Generics を使用するオブジェクト モデルがあります (はい、はい、2 つの問題があります。それが私がここにいる理由です :) :-

AutoFixture にD上記の Anonymous インスタンスを生成させようとしています。ただし、AutoFixture 自体には を構築するための戦略が組み込まれていないため、次のことがIOGF<>わかります。

根底にあるメッセージは次のとおりです。

Ploeh.AutoFixture.ObjectCreationException : AutoFixture は IOGF`1[C] からインスタンスを作成できませんでした。おそらく、パブリック コンストラクターがなく、抽象型または非パブリック型であるためです。

具体的な実装を提供できることをうれしく思います。

関連付けられたバインディング:

次のテストに合格するにはどうすればよいですか (または、そのように問題を見る必要がありますか??)。

(これに関する議論や問題が codeplex サイトにあります - 私はこれを簡単に実装する必要があり、これが単に悪い考えである場合、および/または何かを見逃した場合は、これを削除してもかまいません)

EDIT 2: (マークの回答に関するコメントも参照してください) ここでの (明らかに不自然な) コンテキストは、小さな (制御された/理解しやすい :) ペアまたはトリプレットではなく、大規模な「ほぼ完全なシステム」テスト対象システム オブジェクト グラフの受け入れテストです。ユニットまたは統合テスト シナリオのクラスの。自問自答の括弧内の文で暗示されているように、私はこの種のテストが理にかなっていると完全に確信しているわけではありません.

0 投票する
9 に答える
24981 参照

c# - AutoFixture - 文字列生成の長さを制限するようにフィクスチャを構成します

AutoFixture の Build メソッドをいくつかの型に使用する場合、そのオブジェクトの文字列プロパティ/フィールドを満たすために生成される文字列の長さを制限するにはどうすればよいですか?

0 投票する
0 に答える
80 参照

c# - AutoFixture は 2 つの異なるリストを生成していますか?

私は AutoFixture を初めて使用し、その機能をすばやくテストしていますが、ちょっとした問題に直面しています。以下は私のテストです:

派手なものはありません。私が直面している問題は、最初に の匿名インスタンスを作成するとき、それを作成してから適切な をバインドしていると主張するまで、同じではないということSyncFolderItemsResultです。したがって、テストが失敗します。SyncItemsChangesItemId

2 つの異なるリストを生成するのはなぜですか?

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

c# - AutoFixture とインターフェース

私がインターフェースを持っているとしましょう:

IFooクラスの場合、次のように書くことができます。

Bar1結果には、とに設定された数値が含まれBar2ます。

しかし、インターフェースでこれを行う方法は? 私は使用しようとしましAutoMoqCustomizationたが、これはインターフェース自体ではなく、インターフェース型を持つプロパティのようです。

CreateAnonymousクラスのような自動化された方法を探しています。現在、インターフェイスのモックを作成し、そのプロパティを明示的に設定していますが、これは保存したい作業です。明らかな何かが欠けているに違いありません。

0 投票する
3 に答える
1361 参照

c# - 内部 ctor を持つクラスで AutoFixture.CreateAnonymous<>() を使用する方法

私は次のようなことをしました

ここで、ユニット テスト アセンブリに を追加しInternalsVisibleToて、内部 Bar ctor にアクセスできるようにしてから、次のようにしました。

質問:
それは AutoFixture を利用する「正しい」方法でしたか、それとももっと良い方法がありますか?

0 投票する
3 に答える
2304 参照

c# - 単体テストでの繰り返しコード

多くのテストケースで繰り返しフィクスチャ/モックセットアップをコーディングしていることがわかります-この場合のように:

テストは自己完結型であり、最初から最後まで読み取り可能である必要があるという考えに従って、魔法のセットアップ/分解メソッドを使用しません。

何らかの方法(AutoFixtureのカスタマイズ、ヘルパーメソッド)で、これらのテストの「うんざりする作業」を減らすことができますか?

0 投票する
7 に答える
5020 参照

java - Ploeh の AutoFixture for .Net に代わる Java はありますか?

.Net の AutoFixture と同様に、テストで匿名変数(値を気にしない変数)を作成する Java ツールを探しています。AutoFixture の readmeへのリンクを次に示します。ここには、それが何をするかのかなり良い例があります。

以下は、同じ readme から抜粋した短い例です。

Javaの世界にそのようなツールはありますか?

編集:

私はQuickCheckを試してみましたが、探していたようなことをすることができました:

このツールは、インターフェイスでのみ機能するようです。テストをクラスに変更し、メソッドをフィールドに変更すると、ジェネレーターはインターフェイスのみがサポートされているという例外をスローします。

特にドキュメントが深刻に不足しているため、より良いものがあることを心から願っています。

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

c# - AutoFixture 'With' と同等の匿名値による一般化された Func ラッピング

AutoFixture ベースのテストでは、次のことをできるだけ明確に表現しようとしています。

<input>このメソッドのパラメーターに渡すとx、他のパラメーターを匿名で入力すると、結果は...

ファクトリメソッドの例を挙げる:-

私は簡潔な一連のテストとして表現しようとしています:

  1. に null を渡すとx、スローされるはずです
  2. に null を渡すとy、スローされるはずです

表現するために、私は言うことができます:

わずかに異なる 2 番目のインスタンスでは、次のことを行う必要があります。

プロパティについてWithは、AutoFixture にあります。メソッド (および/または ctor) の引数に相当するものはありますか?

PS 0.この場合、「魔法の」文字列に入る必要があるかどうかは気にしません-つまり、xビットを"x".

PS 1. 部屋のもう 1 つの象は、AutoFixture の 4 倍の過負荷に頭をぶつけていることGetです。それとも、この環境に古いバージョンがあるためですか?

PS 2.これをモデル化する方法に関するより良い提案にもオープンです-プロパティやフィールドではなくメソッド呼び出しにしたいという事実に対処している限り(そして、AutoFixtureスタイルで動作させたいのですが) )。

0 投票する
5 に答える
3386 参照

.net - [AutoFixture]SemanticComparisonOfLikenessをシーケンス/コレクション/配列/IEnumerableに適用する

次のようなテストを作成しました。このテストでは、Equal-classのen-overloadを作成している必要がありCodeTableItemます。

テストは正常に機能しますが、残念ながらEquality-functionに依存しています。つまり、CodeTableItem-classをもう1つのフィールドで拡張し、-functionを拡張するのを忘れたEquals場合、すべてのフィールドをテストするわけではありませんが、単体テストは引き続き緑色で実行されます。 。テストに準拠するためだけに作成されたこのEquality汚染(テスト固有の同等性を参照)を回避したいと考えています。

を使用してみOfLikenessましたが、次のようにテストを書き直しました。

しかし、Capacityが等しくないため、テストは失敗します。リフレクションを何度も実行するコードを作成しましたが、通常、フィールドを無視するためのオーバーロードを実装することになりました。またはで特定のフィールドを無視する方法はありますOfLikenessShouldEqual?または、この問題を解決する他の方法はありますか?