NUnit 3 测试不使用测试用例源中的参数
NUnit 3 test not using parameters in testcase source
我正在尝试使用 NUnit 3 编写一个测试,该测试采用 double[] 列表并测试扩展方法的 return。但是我无法获得将测试用例数据作为参数的测试。它总是使用空参数运行一次。
我几乎完全复制了 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);
}
}
}
较旧的 3rdParty 运行ners,例如 Resharper、非常旧的 NUnit 2 Visual Studio 适配器和其他 运行 NUnit 3 测试不正确。症状通常是 OneTimeSetup
没有得到 运行,或者在这种情况下,TestCaseSource
没有得到应用。更麻烦的是你永远看不到的误报。
每当检查测试的行为时,您应该始终运行使用测试框架随附的运行ner 进行测试,在此案例nunit3-console.exe
。这将告诉您这是您的测试问题还是您选择的 运行ner.
在这种情况下,测试 运行 使用 TestDriven.NET,这要求您正确安装 NUnitTDNet NuGet package 到 运行 NUnit 3 测试。
我正在尝试使用 NUnit 3 编写一个测试,该测试采用 double[] 列表并测试扩展方法的 return。但是我无法获得将测试用例数据作为参数的测试。它总是使用空参数运行一次。
我几乎完全复制了 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);
}
}
}
较旧的 3rdParty 运行ners,例如 Resharper、非常旧的 NUnit 2 Visual Studio 适配器和其他 运行 NUnit 3 测试不正确。症状通常是 OneTimeSetup
没有得到 运行,或者在这种情况下,TestCaseSource
没有得到应用。更麻烦的是你永远看不到的误报。
每当检查测试的行为时,您应该始终运行使用测试框架随附的运行ner 进行测试,在此案例nunit3-console.exe
。这将告诉您这是您的测试问题还是您选择的 运行ner.
在这种情况下,测试 运行 使用 TestDriven.NET,这要求您正确安装 NUnitTDNet NuGet package 到 运行 NUnit 3 测试。