作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 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"))
编辑:我有一个部分解决方案。它生成一个电子邮件地址,但@之前和之后的部分是相同的。示例:[email protected]
这是部分解决方案
(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)
最佳答案
加里·弗雷德里克斯有一个图书馆 https://github.com/gfredericks/test.chuck它将字符串正则表达式生成添加到 Spec 中。这使您可以根据需要对电子邮件地址使用简单或详细的正则表达式。
关于unit-testing - 如何在 test.check 中生成随机电子邮件地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68809214/
我是一名优秀的程序员,十分优秀!