gpt4 book ai didi

php - 拉维尔 5 : Controller Testing - PHPUnit returns green

转载 作者:行者123 更新时间:2023-11-28 20:11:33 24 4
gpt4 key购买 nike

以下简单的 Controller 测试向 PostsController@index 操作发出“GET”请求:

<?php 

class PostsControllerTest extends TestCase {

public function testIndex()
{
$response = $this->action('GET', 'PostsController@index');

}
}

据我所知,如果在我的 Controller 中不存在 index 方法,那么在我的命令行中调用 phpunit 时,我不应该获得绿灯。

然而我的 Controller 看起来像这样:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class PostsController extends Controller
{
/**
* Display a listing of the resource.
*
* @return Response
*/
// public function index()
// {
// //
// return 'Posts Index';
//}
}

你可以清楚地看到索引方法被注释掉了,我仍然明白:

**OK (1 test, 0 assertions)**

有什么建议吗?

最佳答案

您没有做出任何断言。您的测试不检查 $response 是否为“OK”。

将您的测试更改为:

public function testIndex()
{
$response = $this->action('GET', 'PostsController@index');
$this->assertEquals(200, $response->status());
}

此测试断言页面响应了 200 status code ,表示成功。

您可以阅读 Laravel 的测试 here .

关于php - 拉维尔 5 : Controller Testing - PHPUnit returns green,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31508076/

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