我想生成一个随机字符串 - 比如长度为80。
我在想Fixture.Create<string>(length: 80);
之类的东西
或Fixture.Create<string>(minimumLength: 60, maximumLenth: 100);
。两者都可以完美地运作。
创建自定义似乎过度,但也许这是正确的方法。关于获取更短的字符串有很多问题,而不是默认字符串,这可以用子字符串来实现,但我需要更长的字符串。
答案 0 :(得分:2)
试试这个:
string.Join(string.Empty,Fixture.CreateMany<char>(stringLength))
stringLength
是您希望生成的字符串的长度。
或
默认情况下,Fixture.Create<string>()
会创建一个长度为36的字符串
因此,如果您希望字符串长度超过36,则此代码将生成长度为72的字符串:
string.Join(string.Empty,Fixture.CreateMany<string>(2))
答案 1 :(得分:1)
查看this问题。
这表示StringLength
属性可以帮助生成给定长度的字符串。
还有来自图书馆维护者的article。在本文中,他说像方程fixture.Build<MyObject>.With(x = x.MyString, 0, 100);
这样的方法不会通过设计考虑来实现。
因此,如果您不想使用该属性,则必须使用Customization
答案 2 :(得分:0)
没有直接的方法来实现这一点,因为已经pointed out by Michael。
我最接近的是使用 Fixture.CreateMany<string>(3).Join("")
。感谢Mark Seemann的提示。
我只想要一个超过50个字符的字符串,但不关心它是100还是300.如果我想要一个精确的长度,我也可以打电话给Fixture.CreateMany<string>(3).Join("").Substring(length)