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. 测试与验证 ## 7. 测试与验证
生产代码尚未初始化。完成 T-001 后,把真实命令填入这里,并同步 `init.sh`(`init.ps1` 可选):
```bash ```bash
# 目标形态
.venv/bin/python manage.py check .venv/bin/python manage.py check
.venv/bin/python manage.py test .venv/bin/python manage.py test
``` ```
+1 -1
View File
@@ -24,7 +24,7 @@
| T-000 | 初始化 harness 文档 | - | 根目录入口、需求、技术栈、架构、规则、任务和当前状态文档已建立 | DONE | | T-000 | 初始化 harness 文档 | - | 根目录入口、需求、技术栈、架构、规则、任务和当前状态文档已建立 | DONE |
| T-001 | 初始化 Wagtail 项目骨架 | T-000 | Python 3.12 虚拟环境可用;Wagtail/Django 项目生成;SQLite 配置可 migrate;首页或默认 Wagtail 页面可访问;`init.ps1` / `init.sh` 替换为真实命令 | 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-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 · 内容模型 ## Phase 1 · 内容模型
+4 -4
View File
@@ -16,7 +16,7 @@
- git:分支 `ds`;`.gitignore` 已生效(`.venv/`、`db.sqlite3`、`media/` 等被忽略) - git:分支 `ds`;`.gitignore` 已生效(`.venv/`、`db.sqlite3`、`media/` 等被忽略)
- 技术栈:Wagtail 7.4.2 + Django 6.0.6 + Python 3.12 + SQLite;第一版英文单语言站点 - 技术栈:Wagtail 7.4.2 + Django 6.0.6 + Python 3.12 + SQLite;第一版英文单语言站点
- 生产代码:已初始化,`manage.py`、`skelet/`、`home/`、`search/`、`core/` 已建 - 生产代码:已初始化,`manage.py`、`skelet/`、`home/`、`search/`、`core/` 已建
- 测试:尚未初始化(T-003 待建) - 测试:`home/tests.py` 含 5 个测试(含 smoke 测试 `test_homepage_returns_200`),全部通过;`manage.py test` 可运行
- 数据:已创建 superuser `admin`;尚未建立 seed 数据 - 数据:已创建 superuser `admin`;尚未建立 seed 数据
- 标准启动路径:`init.sh` 已配置 `pip install` / `manage.py check` / `manage.py runserver` 命令 - 标准启动路径:`init.sh` 已配置 `pip install` / `manage.py check` / `manage.py runserver` 命令
- 标准验证路径:`.venv/bin/python manage.py check` 通过(3 个 treebeard 兼容警告非阻塞) - 标准验证路径:`.venv/bin/python manage.py check` 通过(3 个 treebeard 兼容警告非阻塞)
@@ -40,13 +40,13 @@
| `home/` / `search/` | 已有 | `wagtail start` 默认 app,保留不改名;`HomePage` 在 `home`。 | | `home/` / `search/` | 已有 | `wagtail start` 默认 app,保留不改名;`HomePage` 在 `home`。 |
| `core/` | 已有 | 业务 app,已加入 `INSTALLED_APPS`;模型、模板、测试待建。 | | `core/` | 已有 | 业务 app,已加入 `INSTALLED_APPS`;模型、模板、测试待建。 |
| `.venv/` | 已有(不入库) | Python 3.12 虚拟环境,`--system-site-packages`(Pillow 12.0 来自 MSYS2)。 | | `.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 home.models import HomePage
from wagtail.models import Page, Site from wagtail.models import Page, Site
from wagtail.test.utils import WagtailPageTestCase 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): class HomeSetUpTests(WagtailPageTestCase):
""" """
Tests for basic page structure setup and HomePage creation. Tests for basic page structure setup and HomePage creation.
+13
View File
@@ -141,3 +141,16 @@
- 决策:环境变量命名遵循 Django 惯例;dev 环境默认值满足本地开发需求,生产部署时所有值从环境变量注入。 - 决策:环境变量命名遵循 Django 惯例;dev 环境默认值满足本地开发需求,生产部署时所有值从环境变量注入。
- 下一步:T-003 建立最小验证基线。 - 下一步: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 建立场景、语言、框架、数据库、功能标签模型。