gpt4 book ai didi

c# - NUnit 测试用例源

转载 作者:IT王子 更新时间:2023-10-29 04:31:30 27 4
gpt4 key购买 nike

我正在尝试使用 TestCaseSource 属性。一个问题:当 sourceName 字符串无效时,测试只是被忽略而不是失败。如果 source 方法被重命名,sourceName 字符串没有得到更新,这将非常糟糕,然后您将失去测试提供的覆盖范围。有没有办法改变 NUnit 的行为,以便在 sourceName 无效时测试失败?

最佳答案

这在 NUnit 2.6.2 中得到解决。该属性有一个新的构造函数,该构造函数采用 Type(必须实现 IEnumerable);它“被推荐优先于其他形式使用,因为它不使用字符串来指定数据源,因此更容易重构。” (来自 documentation 。)

这确实需要您的测试运行器支持最新的 NUnit。

一个非常基本的示例(有关详细信息,请参阅上面的文档链接):

public class TestDataProvider : IEnumerable
{
public IEnumerator GetEnumerator()
{
return new List<int>{ 2, 4, 6 }.GetEnumerator();
}
}

[TestFixture]
public class MyTests
{
[TestCaseSource(typeof(TestDataProvider))]
public void TestOne(int number)
{
Assert.That(number % 2, Is.EqualTo(0));
}
}

关于c# - NUnit 测试用例源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11722888/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com