我一直在使用ScalaCheck进行自动单元测试。它的默认字符串生成器(即它的默认Arbitrary[String]
实例)有点太强强大,通常产生一个不可读的混乱,主要由我不想支持的字符组成,我的系统可以甚至渲染。
我已经着手创建更多Arbitrary[String]
个实例,并试图找出其中的内容。
以下是一些有助于测试的String类示例:
那里有库可以随机制作这些或类似的字符串吗?
答案 0 :(得分:1)
我会采取不同的方法。您的所有示例都映射到Unicode中的字符块。请参阅http://www.fileformat.info/info/unicode/block/index.htm只需选择您喜欢的块,然后生成限制在这些范围内的随机字符串。
int count = 10;
StringBuilder out = new StringBuilder();
Random rand = new Random(0);
for (int i = 0; i < count; i++) {
char ch = rand.nextInt(numCharsInRange) + firstCharInRange;
out.append(ch);
}
return out.toString();
另一种方法是从不同语言中获取预先组合文本的随机片段。你可以在这里抓一些:http://www.unicode.org/standard/WhatIsUnicode.html看看翻译。
答案 1 :(得分:0)
尝试
RandomStringUtils.random(10, true, false)
参数如下:int count, boolean letters, boolean numbers
您需要导入org.apache.commons.lang.RandomStringUtils;