Skip to content

New unit test uses phpMan.php bootstrap instead of src/bootstrap.php (inconsistent with PLAN doc) #221

Description

@chedong

问题描述

新添加的 test/unit/test_path_guard.php 使用 phpMan.php 作为测试引导,而非 05-PLAN.md §v4.4 指定的方式:

// 当前做法(引入完整 phpMan.php)
define(PHPMAN_TEST_MODE, true);
require_once __DIR__ . /../../phpMan.php;

// PLAN 文档指定的方式(引入 src/bootstrap.php)
define(PHPMAN_TEST_MODE, true);
require_once PHPMAN_HOME . /src/bootstrap.php;

背景

05-PLAN.md §v4.4 明确说明:

"Tests unchanged — define(PHPMAN_TEST_MODE, true) before requiring phpMan.php loads all functions without running the web dispatch. Every test file replaces require 'phpMan.php' with require PHPMAN_HOME . '/src/bootstrap.php'."

影响

  • 当前做法能够工作PHPMAN_TEST_MODE 在 dispatcher 之前 return),但加载了 ~250 行不必要的 web dispatch 代码
  • 与 PLAN 文档描述不一致,未来若有其他开发者参考文档写新测试会困惑
  • v4.4 代码拆分完成后的目标架构应是 bootstrap.php 模式

建议

test_path_guard.php 中的 require_once 改为加载 src/bootstrap.php,与 PLAN 文档保持一致。路径解析的示例实现:

$srcDir = is_dir(__DIR__ . /../../src) ? __DIR__ . /../../src : PHPMAN_HOME . /src;
require_once $srcDir . /bootstrap.php;

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions