gpt4 book ai didi

c# - 有没有更好的方法将动态输入在线传递给 DataTestMethod? IE。如何以编程方式为数据驱动测试创建测试输入

转载 作者:太空狗 更新时间:2023-10-29 19:59:23 26 4
gpt4 key购买 nike

多年来我一直在寻找这个,我想我终于在“MSTest V2”中找到了一种真正的方法(意思是 .netcore 附带的方法,并且只能在 Visual Studio 中正确处理2017)。请参阅我的解决方案答案。

这为我解决的问题是我的输入数据不容易序列化,但我有逻辑需要用许多这些输入进行测试。这样做更好的原因有很多,但这对我来说是个障碍;我被迫进行一个巨大的单元测试,其中有一个 for 循环遍历我的输入。直到现在。

最佳答案

您现在可以使用 DynamicDataAttribute:

[DynamicData(nameof(TestMethodInput))]
[DataTestMethod]
public void TestMethod(List<string> list)
{
Assert.AreEqual(2, list.Count);
}

public static IEnumerable<object[]> TestMethodInput
{
get
{
return new[]
{
new object[] { new List<string> { "one" } },
new object[] { new List<string> { "one", "two" } },
new object[] { new List<string> { "one", "two", "three" } }
};
}
}

https://dev.to/frannsoft/mstest-v2---new-old-kid-on-the-block 有一个很好的短路

https://blogs.msdn.microsoft.com/devops/2017/07/18/extending-mstest-v2/ 有更多血淋淋的细节

关于c# - 有没有更好的方法将动态输入在线传递给 DataTestMethod? IE。如何以编程方式为数据驱动测试创建测试输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44789698/

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