首页 > 解决方案 > Laravel 单元测试(响应不是视图)

问题描述

我正在对我的 Web 应用程序进行单元测试。我在 Laravel 和 PHP 单元测试方面的经验太年轻了。现在,我只是在摆弄 Laravel 单元测试。现在,我正在测试返回到路由的视图是否包含特定文本。很简单。这就是我所做的。

我创建了一个名为 unit_test.blade.php 的视图,其中包含以下内容

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    This is unit test
</body>
</html>

这是显示该视图的路线

Route::get('unit/test', function(){
   return view('unit_test');
});

这是我的测试类和功能

class ApiV2EventController extends TestCase
{


    public function testUnitTest()
    {
        $response = $this->get('unit/test');

        $response->assertViewHas('unit');
    }
}

我的测试功能很简单。它只是检查视图是否包含文本“单元”。但是当我在命令行中运行测试时,它给出了

There was 1 failure:

1) Tests\Feature\ApiV2EventController::testUnitTest
The response is not a view.

我正在返回路线中的视图。我的代码有什么问题?我该如何测试它?

标签: phplaravelunit-testing

解决方案


在您的测试中尝试禁用异常处理以查看发生了什么。

$this->withoutExceptionHandling();

推荐阅读