gpt4 book ai didi

unit-testing - 如何在 test.check 中生成随机电子邮件地址?

转载 作者:行者123 更新时间:2023-12-02 02:02:40 24 4
gpt4 key购买 nike

我正在尝试将 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com