21、订阅确认功能的开发与测试实践

订阅确认功能的开发与测试实践

1. 静态确认链接测试

1.1 红色测试

在这个阶段,我们的目标是从电子邮件正文中检索确认链接。我们并不关心链接是否动态或有实际意义,只需要确保邮件正文中存在类似链接的内容,并且纯文本和 HTML 版本的邮件正文中的链接相同。

为了获取 wiremock::MockServer 拦截的请求正文,我们可以使用其 received_requests 方法。该方法会返回服务器拦截的所有请求的向量,前提是启用了请求记录(默认启用)。

以下是测试代码示例:

// tests/api/subscriptions.rs
#[actix_rt::test]
async fn subscribe_sends_a_confirmation_email_with_a_ {
    // Arrange
    let app = spawn_app().await;
    let body = "name=le%20guin&email=ursula_le_guin%4";

    Mock::given(path("/email"))
      .and(method("POST"))
      .respond_with(ResponseTemplate::new(200))
      .mount(&app.email_server)
      .await;

    // Act
    app.post_subscriptions(body.into()).await;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值