c# - 如何在 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
属性仅支持常量值
推荐阅读
- python - PySpark 3 - UDF 从列表列中删除项目
- python - 是否可以使用 folium polyline 显示线条或边缘属性?
- elasticsearch - Kafka-Elasticsearch 接收器连接器不工作
- android - 如何在 ARCORE 中更改锚点的大小和颜色?
- vhdl - 有限状态机模拟在modelsim上无法正常工作
- swift - 添加 ViewModel 后,SwiftUI 视图未在按钮切换上更新
- xpath - 找不到动态 Xpath 元素
- c# - 将字符串或列表转换为 Renci.SshNet.Sftp
- apache - 通过 Zuul 路由 HTTP 静态内容请求
- authentication - 有没有办法将另一个用户添加到我的帐户?