gpt4 book ai didi

c# - 对生成不同字符串的类进行单元测试

转载 作者:太空宇宙 更新时间:2023-11-03 14:28:14 24 4
gpt4 key购买 nike

我正在尝试为生成不同字符串的类编写单元测试。我最初的 react 如下:

public void GeneratedStringsShouldBeDistinct()
{
UniqueStringCreator stringCreator = new UniqueStringCreator();
HashSet<string> generatedStrings = new HashSet<string>();
string str;

for (int i = 0; i < 10000; i++)
{
str = stringCreator.GetNext();
if (!generatedStrings.Add(str))
{
Assert.Fail("Generated {0} twice", str);
}
}
}

我喜欢这种方法,因为我知道底层算法没有使用任何随机性,所以我不会遇到一次失败但下一次成功的情况 - 但将来可能会被某人替换掉. OTOH,测试任何随机算法都会导致这种类型的测试不一致,那么为什么不这样做呢?

我是否应该只取出 2 个元素并检查差异性(使用 0/1/Many 原理)?

还有其他意见或建议吗?

最佳答案

我会继续使用您的方法;这可能是最可靠的选择。

顺便说一句,你不需要 if 语句:

Assert.IsTrue(generatedStrings.Add(str), "Generated {0} twice", str);

关于c# - 对生成不同字符串的类进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3310279/

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