gpt4 book ai didi

unit-testing - 在 Laravel 中单元测试 Controller 而不测试路由的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-04 00:50:21 26 4
gpt4 key购买 nike

我已经阅读了很多关于使用 $this->call($destination, $parameters, 'GET'); 测试 Controller 的文档。但这似乎也依赖于正在设置的路线,并且知道正确 $destination使用。

通常这是可以的,但是从路由访问 Controller 似乎不适合单元测试。我想对 Controller 进行单元测试,而不是路由。是否有一种标准的方法来单元测试 Controller ,而不处理路由?

简单地手动实例化 Controller 并调用方法就足够了吗?例如。

$controller = new MyController;
$response = $controller->someMethod($param);
$this->assertSomething($response);

也许 Controller 不应该进行单元测试(并且只有验收测试),而我的请求表明我的 Controller 太重了。

最佳答案

您可以直接调用您的操作:

$response = $this->action('GET', 'OrdersController@show', ['id' => 1]);

关于unit-testing - 在 Laravel 中单元测试 Controller 而不测试路由的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19029797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com