讓我們有這樣的設置:在TestCaseSource(NUnit的)從的TestFixture訪問值
[TestFixture(10)]
[TestFixture(20)]
public class TestClass
{
int I;
public TestClass(int i)
{
I = i;
}
[TestCaseSource(typeof(TestSource))]
public void Test(string name)
{
TestContext.WriteLine(name);
}
class TestSource : IEnumerable<TestCaseData>
{
public IEnumerator<TestCaseData> GetEnumerator()
{
yield return new TestCaseData("AAA") { TestName = $"Test" };
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
}
有沒有辦法生成TestCaseSource
測試時以某種方式得到當前TestFixture
值(10
或20
在這種情況下)(無論是使用類或方法,對我無關緊要)?我知道我可以解決這個問題,即派生類或複製方法,但我希望獲得乾淨的解決方案(排隊計劃B之前)。
謝謝。我通過調試和測試找到了序列。嵌套類只是SO的一個例子。我會以某種方式分割它,並使用兩個子類來取代使用'TestFixture'。這可能很容易解決它。 –