diff --git a/docs/05-coding-rules.md b/docs/05-coding-rules.md index 616ba73..4f722f1 100644 --- a/docs/05-coding-rules.md +++ b/docs/05-coding-rules.md @@ -57,10 +57,7 @@ ## 7. 测试与验证 -生产代码尚未初始化。完成 T-001 后,把真实命令填入这里,并同步 `init.sh`(`init.ps1` 可选): - ```bash -# 目标形态 .venv/bin/python manage.py check .venv/bin/python manage.py test ``` diff --git a/docs/06-tasks.md b/docs/06-tasks.md index 234a37f..56a995e 100644 --- a/docs/06-tasks.md +++ b/docs/06-tasks.md @@ -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 · 内容模型 diff --git a/docs/current-state.md b/docs/current-state.md index 21e472c..d545121 100644 --- a/docs/current-state.md +++ b/docs/current-state.md @@ -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 建立场景、语言、框架、数据库、功能标签模型`。 ## 当前可运行内容 diff --git a/home/tests.py b/home/tests.py index 2a737de..a2a58a1 100644 --- a/home/tests.py +++ b/home/tests.py @@ -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. diff --git a/progress.md b/progress.md index 9c45e85..6ad55eb 100644 --- a/progress.md +++ b/progress.md @@ -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 建立场景、语言、框架、数据库、功能标签模型。 +