Rust 中的邮件验证与发送:从输入验证到确认邮件
输入验证与自定义生成
在处理输入时,如果要求输入为 String 类型,可能会得到各种无效数据,导致验证失败。为了解决这个问题,我们可以自定义生成例程。
quickcheck 库通过 Arbitrary 特征来生成随机数据。 Arbitrary 特征有两个方法:
- arbitrary :根据随机源 g 返回类型的实例。
- shrink :返回一系列逐渐“更小”的类型实例,帮助 quickcheck 找到最小的失败案例。
例如,对于 Vec<u32> ,它实现了 Arbitrary 特征,因此 quickcheck 知道如何生成随机的 u32 向量。
我们可以创建自己的类型 ValidEmailFixture 并为其实现 Arbitrary 特征:
#[derive(Debug, Clone)]
struct ValidEmailFixture(pub String);
impl quickcheck::Arbitrary for ValidEmailFixture {
fn arbi
超级会员免费看
订阅专栏 解锁全文


被折叠的 条评论
为什么被折叠?



