Skip to main content

Module mock

Module mock 

Source
Expand description

Mock 数据库连接 — 用于单元测试,无需真实数据库

§概述

MockConnection 实现了 Connection trait,允许在测试中预设 SQL 查询的 预期结果,从而在不连接真实数据库的情况下测试业务逻辑。

§使用示例

use sz_orm_core::mock::{MockConnection, MockRow};
use sz_orm_core::value::Value;

let mut mock = MockConnection::new();

// 预设查询结果
mock.expect_query("SELECT * FROM users")
    .with_rows(vec![
        MockRow::from(vec![
            ("id", Value::from(1i64)),
            ("name", Value::from("Alice")),
        ]),
    ]);

// 执行查询,返回预设结果
let rows = mock.query("SELECT * FROM users").await.unwrap();
assert_eq!(rows.len(), 1);

Structs§

MockConnection
Mock 数据库连接
QueryExpectationBuilder
expect_query 的构建器

Enums§

FallbackBehavior
无匹配期望时的行为

Type Aliases§

MockRow
一行 mock 数据