如果您已经进入了测试驱动的驱动开发,特别是在PHP中,您可能知道静态方法很难测试。 PHPUnit已弃用模拟静态调用。
怎么做家伙模拟静态电话?如果静态不利于TDD,那么Laravel如何测试所有静态调用?
答案 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();