T-003: 建立最小验证基线

This commit is contained in:
ila
2026-07-06 17:49:05 +08:00
parent f40153355f
commit bb7b745666
5 changed files with 26 additions and 8 deletions
-3
View File
@@ -57,10 +57,7 @@
## 7. 测试与验证
生产代码尚未初始化。完成 T-001 后,把真实命令填入这里,并同步 `init.sh`(`init.ps1` 可选):
```bash
# 目标形态
.venv/bin/python manage.py check
.venv/bin/python manage.py test
```
+1 -1
View File
@@ -24,7 +24,7 @@
| T-000 | 初始化 harness 文档 | - | 根目录入口、需求、技术栈、架构、规则、任务和当前状态文档已建立 | DONE |
| T-001 | 初始化 Wagtail 项目骨架 | T-000 | Python 3.12 虚拟环境可用;Wagtail/Django 项目生成;SQLite 配置可 migrate;首页或默认 Wagtail 页面可访问;`init.ps1` / `init.sh` 替换为真实命令 | DONE |
| T-002 | 建立基础配置与环境样例 | T-001 | 存在 `requirements.txt`、`.env.example` 或等价配置说明;不包含真实密钥;`DEBUG`、`ALLOWED_HOSTS`、media/static 配置清楚 | DONE |
| T-003 | 建立最小验证基线 | T-001 | `manage.py check` 和基础测试命令可运行;验证结果写入 `progress.md` | TODO |
| T-003 | 建立最小验证基线 | T-001 | `manage.py check` 和基础测试命令可运行;验证结果写入 `progress.md` | DONE |
## Phase 1 · 内容模型
+4 -4
View File
@@ -16,7 +16,7 @@
- git:分支 `ds`;`.gitignore` 已生效(`.venv/`、`db.sqlite3`、`media/` 等被忽略)
- 技术栈:Wagtail 7.4.2 + Django 6.0.6 + Python 3.12 + SQLite;第一版英文单语言站点
- 生产代码:已初始化,`manage.py`、`skelet/`、`home/`、`search/`、`core/` 已建
- 测试:尚未初始化(T-003 待建)
- 测试:`home/tests.py` 含 5 个测试(含 smoke 测试 `test_homepage_returns_200`),全部通过;`manage.py test` 可运行
- 数据:已创建 superuser `admin`;尚未建立 seed 数据
- 标准启动路径:`init.sh` 已配置 `pip install` / `manage.py check` / `manage.py runserver` 命令
- 标准验证路径:`.venv/bin/python manage.py check` 通过(3 个 treebeard 兼容警告非阻塞)
@@ -40,13 +40,13 @@
| `home/` / `search/` | 已有 | `wagtail start` 默认 app,保留不改名;`HomePage` 在 `home`。 |
| `core/` | 已有 | 业务 app,已加入 `INSTALLED_APPS`;模型、模板、测试待建。 |
| `.venv/` | 已有(不入库) | Python 3.12 虚拟环境,`--system-site-packages`(Pillow 12.0 来自 MSYS2)。 |
| 各 app `tests.py` | 待建 | smoke 与模型测试(T-003 起),暂不建独立 `tests/` 目录。 |
| 各 app `tests.py` | `home/tests.py` 已有 | smoke 与模型测试(T-003 起),暂不建独立 `tests/` 目录。 |
## 任务看板状态
- 已完成:`T-000 初始化 harness 文档`、`T-001 初始化 Wagtail 项目骨架`、`T-002 建立基础配置与环境样例`。
- 已完成:`T-000 初始化 harness 文档`、`T-001 初始化 Wagtail 项目骨架`、`T-002 建立基础配置与环境样例`、`T-003 建立最小验证基线`。
- 正在进行:无。
- 下一个可领取任务:`T-003 建立最小验证基线`。
- 下一个可领取任务:`T-101 建立场景、语言、框架、数据库、功能标签模型`。
## 当前可运行内容
+8
View File
@@ -1,9 +1,17 @@
from django.test import TestCase
from home.models import HomePage
from wagtail.models import Page, Site
from wagtail.test.utils import WagtailPageTestCase
class Smoketest(TestCase):
def test_homepage_returns_200(self):
response = self.client.get("/")
self.assertEqual(response.status_code, 200)
class HomeSetUpTests(WagtailPageTestCase):
"""
Tests for basic page structure setup and HomePage creation.
+13
View File
@@ -141,3 +141,16 @@
- 决策:环境变量命名遵循 Django 惯例;dev 环境默认值满足本地开发需求,生产部署时所有值从环境变量注入。
- 下一步:T-003 建立最小验证基线。
## 2026-07-06 T-003 建立最小验证基线
- 状态:DONE
- 变更:
- `home/tests.py`:新增 `Smoketest` 类(Django `TestCase`),`test_homepage_returns_200` 用 test client 访问 `/` 断言 200
- `docs/05-coding-rules.md` §7:移除"目标形态"占位,替换为真实命令
- 验证:
- `manage.py test`:5 tests passed (0.243s),包括新增的 smoke 测试
- `manage.py check`:0 errors
- 阻塞:无。
- 决策:`init.sh` 的 `VERIFY_CMD` 已在上轮设为 `manage.py check`,无需修改。
- 下一步:T-101 建立场景、语言、框架、数据库、功能标签模型。