AutoFixture ベースのテストでは、次のことをできるだけ明確に表現しようとしています。
<input>
このメソッドのパラメーターに渡すとx
、他のパラメーターを匿名で入力すると、結果は...
ファクトリメソッドの例を挙げる:-
class X
{
public static X Create( Guid a, Guid b, Guid c, String x, String y);
私は簡潔な一連のテストとして表現しようとしています:
- に null を渡すと
x
、スローされるはずです - に null を渡すと
y
、スローされるはずです
表現するために、私は言うことができます:
var fixture = Fixture();
var sut = default( Func<Guid, Guid, Guid,string,X>);
sut = fixture.Get( ( Guid anonA, Guid anonB, Guid anonC, string anonY ) =>
x =>
X.Create( anonA, anonB, anonC, x, anonY ) );
Assert.Throws<ArgumentNullException>( () => sut( null));
わずかに異なる 2 番目のインスタンスでは、次のことを行う必要があります。
var fixture = Fixture();
var sut = default( Func<Guid, Guid, Guid,string,X> );
sut = fixture.Get( ( Guid anonA, Guid anonB, Guid anonC, string anonX ) =>
y =>
X.Create( anonA, anonB, anonC, anonX, y ) );
Assert.Throws<ArgumentNullException>( () => sut( null));
プロパティについてWith
は、AutoFixture にあります。メソッド (および/または ctor) の引数に相当するものはありますか?
PS 0.この場合、「魔法の」文字列に入る必要があるかどうかは気にしません-つまり、x
ビットを"x"
.
PS 1. 部屋のもう 1 つの象は、AutoFixture の 4 倍の過負荷に頭をぶつけていることGet
です。それとも、この環境に古いバージョンがあるためですか?
PS 2.これをモデル化する方法に関するより良い提案にもオープンです-プロパティやフィールドではなくメソッド呼び出しにしたいという事実に対処している限り(そして、AutoFixtureスタイルで動作させたいのですが) )。