如何在 Symfony 的 PHPunit 测试中访问模板变量

How do I access the template variables in a PHPunit test in Symfony

我正在尝试为控制器编写测试,而不是依赖于输出 HTML(前端开发人员无疑会修改)我想确保前端-最终开发人员拥有他们需要的所有数据。

如何访问在 PHPUnit 测试中传递给模板的数据数组以便我可以对其进行验证?我搜索了网络(包括 SO)和文档,但无济于事。

我知道我可以伪造对控制器的调用而不是使用网络爬虫,但这是最好的方法吗?

控制器是高级代码。您不应该尝试将单元测试直接写入控制器方法。由于控制器连接所有低级别 类,您应该专注于对这些 类 进行单元测试。如果您的控制器内部有一些业务逻辑需要测试,您应该考虑重构这个动作。

所以我的建议是使用功能测试来测试您的控制器并使用单元测试来测试您的模型和业务逻辑。

如果您在功能测试方面遇到困难,可以阅读以下内容: