我正在尝试将 gen/fmap 与两个随机字母数字字符串一起使用。然后我将它们与“@”连接并附加“.com”。但我在语法上苦苦挣扎。
第一次尝试:
(gen/fmap str (gen/string-alphanumeric) "@" (gen/string-alphanumeric) ".com")
但是 gen/fmap 只需要两个参数。
第二次尝试,我将第二部分分组也不起作用
(gen/fmap str ((gen/string-alphanumeric) "@" (gen/string-alphanumeric) ".com"))
编辑:我有一个部分解决方案。它会生成一个电子邮件地址,但 @ 之前和之后的部分是相同的。示例:john@john.com
这是部分解决方案
(def gen-full-string
(gen/such-that #(not= % "") gen/string-alphanumeric))
(gen/fmap #(str % "@" % ".com") gen-full-string)
我写了 gen-full-string 因为空字符串""
导致代码崩溃。由于我已经解析并计划制作验证功能,因此我不在乎空字符串。我想测试核心功能而不是边缘情况。一旦我实施了验证,我可能会删除 gen-full-string。所以电子邮件生成器会变成(gen/fmap #(str % "@" % ".com") gen/string-alphanumeric)