#3338·Slim

使用 Slim 处理器/控制器进行集成测试的文档

作者: davisenra创建于 2024年7月24日更新于 2025年1月29日
标签Slim 5

嘿, 我注意到正在为 Slim 5 编写新的路线图, 我想在官方文档中建议一节关于如何测试 Slim 应用程序的内容。 过去我遇到的一个问题是不知道如何测试我的 Slim 处理器/控制器。 `App::run` 方法负责处理请求和发送响应。 大多数用户并不真正涉猎库代码(我当时也不这样), 可能不会意识到如果在测试时使用 `App::handle` , Slim 处理器是完全可以测试的。 当然, 仅仅调用不同的方法并不是全部。 您必须确保您的 Slim 实例定义和配置不在同一个地方被调用。 有时这意味着以下结构: - `bootstrap/app.php` (返回一个工厂函数, 该函数在调用时返回一个新的 App 实例) - `public/index.php` (在其中调用上述函数, 然后调用 `$app->run()`) 还涉及其他困难, 例如创建虚拟的 ServerRequest 对象和处理 PSR-11 容器。 通常, 这意味着创建一个 `ApplicationTest` 类, 该类扩展了 `TestCase`, 并在其中定义了一些辅助方法。 无论如何, 我认为这将是文档中非常好的一个补充。 我愿意贡献, 但如果这听起来不像一个好主意, 或是太费劲, 我认为简单地链接到 `slimphp/Slim-Skeleton` 仓库也很合适。 大多数用户应该能够反向工程测试目录。