私の質問は、1つのテストクラスで複数のフィクスチャを設定する方法ですか?Xunit multiple IClassFixtures
しかし、Zooクラスのコンストラクタは複数のフィクスチャを処理できません。
public class Zoo : IClassFixture<Tiger>, IClassFixture<Wolf>, IClassFixure<Bird>
{
private IFixture fixture;
public Zoo(IFixture fixture)
{
this.fixture = fixture;
}
[Fact]
public void TestAnimal()
{
//Arrange
int actualBonesCount = this.fixture.BonesCount;
int expectedBonesCount = 2;
//Act & Assert
Assert.Equal(expectedBonesCount, actualBonesCount);
}
}
トラクラス
public class Tiger : FixtureBase
{
public Tiger()
{
this.BonesCount = 4;
}
}
鳥クラス
public class Bird: FixtureBase
{
public Bird()
{
this.BonesCount = 2;
}
}
テストフィクスチャベースクラス
public class FixtureBase : IFixture
{
public int BonesCount { get; set; }
}
:exempleについて
すべての
およびインターフェイス
public interface IFixture
{
int BonesCount { get; set; }
}
戦車!これは実際に私が探しているテストシナリオではありません。私はそれが多くのテストデータを持つMemberDataのように見えますが、多くのテストメソッドを持つIClassFixtureとしていくつかの機能を持っています。 – vamone
あなたの要件を理解していると100%確信していません。任意の説明とシナリオを使って例を更新することができますか?ありがとう! – mwilczynski
もう一度、例として、内部にテストメソッドを含むテストクラスを作成しました。 'パブリッククラスZooTest { [ファクト] 公共ボイドTestEyesCount() { } [ファクト] 公共ボイドTestSkinQuality() { } }'、我々はいくつかとタイガーのような2つのクラスがあり、スパイダーこの動物に関する情報(蜘蛛のような32眼と虎だけ2)そして私の質問は、この2つのテストケースの間で目の数(および多く)が変わったのと同じZooTestクラスを使用してTigerとBirdをテストする方法です。そして、クラスタイガー、バードは一度初期化し、テストで行く必要があります – vamone