如何在nunit TestCases中使用元组?

问题描述 投票:0回答:1

我正在尝试使用元组指定nUnit testCases,但在Visual Studio中出现编译器错误。

这个简单的例子演示了我正在尝试做的事情:

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

    }

如果可能的话,我想念什么?

c# nunit valuetuple
1个回答
1
投票

您可以使用TestCaseSource属性并将TestCaseSource指定为值源。

每个IEnumerable<(int, int)[]>项目代表传递给测试方法的一组参数。在您的情况下,它是两个元组,因此每次都应返回一个数组。

IEnumerable

[[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) }; } } 属性仅支持常数值

© www.soinside.com 2019 - 2024. All rights reserved.