gpt4 book ai didi

c# - AutoFixture 单元测试参数设置

转载 作者:太空宇宙 更新时间:2023-11-03 12:35:55 26 4
gpt4 key购买 nike

如何为以下单元测试设置 AutoFixture:

[Theory, ... ] // <- what goes here? 
public void MyTest(int param1, string param2)
{
...
}

第一个参数可以采用随机生成的整数,因此 AutoFixture 自然适合。第二个不能以同样的方式。我需要第二个从编译时未知的动态生成的值列表中获取值。我需要将其告知 AutoFixture,但我不知道如何告知。

编辑:

在我的具体场景中,我需要的是字符串参数是某种类型的属性名称。我想对 AutoFixtue 说:“嘿,对于 param2,从这个列表中取出一个随机字符串,其中列表是 myType.GetPropertyNames()。

AutoFixture 是否支持这种场景?

最佳答案

如果您需要随机值,只需使用[AutoData]:

[Theory, AutoData]
public void MyTest(int param1, string param2)
{
...
}

如果您需要一些预定义的测试数据,您可以使用 [InlineAutoData] .在下面的示例中,string 参数 param1 将获取属性中指定的值。 int 参数 param2 总是随机的:

[Theory]
[InlineAutoData("predefined_string_1")]
[InlineAutoData("predefined_string_2")]
public void MyTest(string param1, int param2)
{
...
}

关于c# - AutoFixture 单元测试参数设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41019941/

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