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

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



