39 lines
1.6 KiB
Markdown
39 lines
1.6 KiB
Markdown
# DB Checker
|
|
|
|
`type: db` 用于数据库连接和查询结果检查,支持 PostgreSQL、MySQL 和 SQLite。
|
|
|
|
## 配置项
|
|
|
|
| 字段 | 说明 | 必填 | 默认值 |
|
|
| ---------- | ------------------------------------------------------------- | ---- | ------ |
|
|
| `db.url` | 数据库连接字符串,支持 `postgres://`、`mysql://`、`sqlite://` | 是 | 无 |
|
|
| `db.query` | SQL 查询语句,不配置时仅测试连接 | 否 | 无 |
|
|
|
|
## expect 校验项
|
|
|
|
| 字段 | 说明 | 必填 | 默认值 |
|
|
| ------------ | ----------------------------------------------------------------------- | ---- | ------ |
|
|
| `rowCount` | 查询返回行数校验,使用 `ValueMatcher` | 否 | 无 |
|
|
| `rows` | 查询结果逐行校验,数组内每行为列名到 `KeyedExpectations` 的映射 | 否 | 无 |
|
|
| `result` | 完整查询结果 `{ rows, rowCount }` 校验,使用 `ContentExpectations` 数组 | 否 | 无 |
|
|
| `durationMs` | 完整执行耗时校验,使用 `ValueMatcher` | 否 | 无 |
|
|
|
|
## 示例
|
|
|
|
```yaml
|
|
- id: "sqlite-query"
|
|
name: "SQLite 数据库检查"
|
|
type: db
|
|
db:
|
|
url: "sqlite:///path/to/db.sqlite"
|
|
query: "SELECT COUNT(*) as cnt FROM users WHERE status = 'active'"
|
|
expect:
|
|
durationMs:
|
|
lte: 5000
|
|
rowCount:
|
|
gte: 1
|
|
rows:
|
|
- cnt:
|
|
gte: 0
|
|
```
|