Rust Web 服务:错误处理与项目结构重构
1. 错误处理
1.1 测试用例错误问题
当使用 cargo test --bin iter4 运行整个测试套件时,可能会遇到 DBError("duplicate key value violates unique constraint") 错误。这是因为每次运行测试套件时,都会向表中插入一个 course_id 为 3 的新记录。而 course_id 是表的主键,不能有两条记录具有相同的 course_id ,所以第二次运行测试时,记录插入会失败。
解决方法有两种:
- 登录 psql shell,从 ezy_course_c5 表中删除 course_id 为 3 的条目。
- 使用 #[ignore] 注解让 Cargo 测试执行器忽略测试套件中的特定测试用例,示例代码如下:
#[ignore]
#[actix_rt::test]
async fn post_course_success() {
}
运行 cargo test --bin iter4 后,控制台会显示类似如下信息:
超级会员免费看
订阅专栏 解锁全文
969

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



