gpt4 book ai didi

nunit - 使用 MemberData 将 xUnit 测试用例转换为 nUnit

转载 作者:行者123 更新时间:2023-12-01 10:28:35 24 4
gpt4 key购买 nike

假设我有以下使用 xUnit 编写的测试用例:

public static IEnumerable<object[]> testValues = new List<object[]>
{
new object[] {new double?[] {0.0}, 0.0, 0.0},
};

[Theory]
[MemberData(nameof(testValues))]
public void Test1(double?[] values, double expectedQ1, double expectedQ3)
{
// Test code
}

如何在 nUnit 而不是 xUnit 中表达相同的单元测试?

注意:这里的主要问题似乎是 MemberData 的使用,到目前为止,我还没有找到等效的 nUnit。在 nUnit 中表达此类单元测试用例的正确方法是什么?

最佳答案

像这样:

public static IEnumerable<object[]> testValues = new List<object[]>
{
new object[] {new double?[] {0.0}, 0.0, 0.0},
};

[TestCaseSource(nameof(testValues))]
public void Test1(double?[] values, double expectedQ1, double expectedQ3)
{
// Test code
}

注意 NUnit 有 TheoryAttribute但你不想要它在这里。在 NUnit 中,理论不仅仅是一个参数化测试。在决定是否需要它之前,您应该阅读文档以了解它是什么。当然,您应该阅读 TestCaseSourceAttribute以及。 :-)

NUnit 中允许为测试用例指定数据的其他属性包括 TestCaseAttribute , ValuesAttribute , ValueSourceAttribute , RandomAttributeRangeAttribute .

关于nunit - 使用 MemberData 将 xUnit 测试用例转换为 nUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45429732/

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