如何使用 test.check 编写生成器来生成字母字符串?

How do I write a generator to make an alpha string using test.check?

test.check 有一个内置生成器 gen/string-alphanumeric 但它没有 gen/string-alpha。我如何制作一个生成器,使字符串只由字母组成,没有数字?

您可以使用 gen/char-alpha 和 gen/fmap 来制作一个字符串。

(gen/fmap clojure.string/join (gen/vector gen/char-alpha))

如果你需要经常使用这个,我建议绑定它。示例:

(def gen-string-alpha
  (gen/fmap clojure.string/join (gen/vector gen/char-alpha)))

test.chuck has a generator, string-from-regex 这将证明在生成与任何所需正则表达式匹配的字符串时很有用。