我的問題是如何在一個測試類中設置多個燈具?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; }
}
而且接口
public interface IFixture
{
int BonesCount { get; set; }
}
坦克爲您解答!這並不是我正在尋找的測試場景。我希望它看起來像帶有許多測試數據的MemberData,但仍然具有一些功能作爲具有許多測試方法的IClassFixture。 – vamone
如果我瞭解您的要求,我不是100%確定。任何機會,你可以用一些解釋和可能的場景更新你的例子?謝謝! – mwilczynski
嗨,例如,我們有一個測試類,裏面有測試方法。 '公共類ZooTest { [事實] 公共無效TestEyesCount() { } [事實] 公共無效TestSkinQuality() { } }'和我們有2類,如虎,和蜘蛛與一些關於這些動物的信息。 (像蜘蛛有32隻眼睛,只有2只老虎)我的問題是如何使用相同的ZooTest類來測試Tiger和Bird,而在這兩個測試用例之間改變眼睛的數量(以及更多)?和類老虎,伯德應初始化一次,並通過測試 – vamone