如何为Kotlin测试生成贴近真实场景的文本数据?
Kotest字符串生成器的真实场景适配问题
我在测试中使用Kotest数据生成器,它灵活性极高,几乎能满足所有需求。不过其中的字符串生成器过于技术化,难以生成贴近真实场景的文本字符串。
- 生成包含可打印ASCII字符(
到~)的字符串,即便和真实场景中的ASCII输入相比也差距明显——这类字符串不包含换行符和制表符。 - 实际场景里,不同语言设置的浏览器会生成各类UTF-8字符。
Kotest中提供了stringPattern生成器,但它使用的RxGen 1.4版本尚不支持基于字符类的生成(1.5版本即将发布)。我原本打算使用[\p{Punct}]|[\p{Graph}]|[\p{Print}]|[\p{Blank}],但对Unicode字符类并不了解,认为现有成熟解决方案比自行摸索更合适。
我的项目基于Kotlin 1.9,使用的是Kotest 5.8.0版本。
内容的提问来源于stack exchange,提问作者Kalle Richter
相关产品推荐
相关产品推荐

