静态方法是邪恶的,那么Laravel如何使用这么多静态调用呢?

时间:2016-08-20 05:37:35

标签: php laravel tdd

如果您已经进入了测试驱动的驱动开发,特别是在PHP中,您可能知道静态方法很难测试。 PHPUnit已弃用模拟静态调用。

怎么做家伙模拟静态电话?如果静态不利于TDD,那么Laravel如何测试所有静态调用?

1 个答案:

答案 0 :(得分:7)

是的,Laravel使用了很多外墙,但你很容易test everything。我建议你阅读Jeffrey Way的“Laravel Testing Decoded”,它会回答你所有的问题。

如果您不想使用外墙,则不必使用,因为Laravel提供了许多全球帮助者(例如redirect()Redirect::auth()为{Auth:: 1}},session()Session::等)。此外,您始终可以使用DI:

public function index(User $user)
{
    $users = $user->all();

而不是:

$users = User::all();