【发布时间】:2016-03-30 15:15:09
【问题描述】:
我正在尝试使用 NUnit 3 编写一个测试,该测试采用 double[] 列表并测试扩展方法的返回。但我无法让测试将 testcasedata 作为参数。它总是使用空参数运行一次。
我几乎完全复制了 wiki 中的示例,所以我不确定我哪里出错了。我来自 nunit 2.6,所以不习惯新的做事方式。所以这可能是非常明显的事情。
任何帮助表示赞赏。
[TestFixture]
public class DoubleExtensionsTest
{
[Test, TestCaseSource(typeof(DoubleExtensionsTestData), "CoordinatesData")]
public bool IsValidCoordinatesWorksCorrectly(double[] values)
{
return values.IsValidCoordinates();
}
}
public class DoubleExtensionsTestData
{
public static IEnumerable CoordinatesData
{
get
{
yield return new TestCaseData(new[] { 51.441860d, -0.066243d }).Returns(true);
yield return new TestCaseData(new[] { 48.856614d, 2.352222d }).Returns(true);
yield return new TestCaseData(new[] { -1.292066d, 36.821946d }).Returns(true);
}
}
}
【问题讨论】:
-
您的测试运行情况如何?你试过控制台吗?旧版本的 R# 或非常旧的 NUnit 适配器将错误地运行测试。试试新的 NUnit 3 Visual Studio 适配器。
-
认为你是对的 - 使用似乎不支持 3.0 的 testdriven.net。就这样吧!谢谢。
-
TestDriven.net 确实支持 NUnit 3,你需要安装 NUnitTDNet NuGet 包。