簡體   English   中英

如何在 nunit TestCases 中使用元組?

[英]How can I use tuples in nunit TestCases?

我正在嘗試使用元組指定 nUnit 測試用例,但在 VisualStudio 中出現編譯器錯誤。

這個簡單的示例演示了我正在嘗試做的事情:

    [TestCase((1, 2), (3, 5))]
    public void TestRangeOverlaps((int start, int end) firstRange, (int start, int end) secondRange)
    {

    }

如果這是可能的,我錯過了什么?

您可以使用TestCaseSource屬性並指定IEnumerable<(int, int)[]>作為值源。

每個IEnumerable項代表一組傳遞給測試方法的參數。 在您的情況下,它是兩個元組,因此您應該每次都返回一個數組以傳遞給TestRangeOverlaps

[Test]
[TestCaseSource(nameof(Tuples))]
public void TestRangeOverlaps((int start, int end) firstRange, (int start, int end) secondRange)
{
}

public static IEnumerable<(int, int)[]> Tuples
{
    get
    {
        yield return new[] { (1, 2), (3, 5) };
    }
}

TestCase屬性僅支持常量值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM