如何在 laravel 单元测试中测试功能

How to test function in laravel Unit testing

第一次使用单元测试。

通过 cmd 创建测试文件:

php artisan module:make-test ProjectTest Projects

我可以用cmd测试:

./vendor/bin/phpunit

但是我想测试我的功能,我的功能是这样的:

public function update(Request $request, $id)
    {
        $project = Project::find($id);
        $project->project_name = request('project_name');
        $project->save();
        return response()->json([
            'message' =>  "Project Updated Successfully",
            'updatedId' => $project->id
            ], 200);
    }

任何人都可以指导我如何在 PHPUnit 中测试这个控制器吗?

在 PostMan 上测试如下函数:

URL:(POST method) http://localhost:8000/api/updateProject/1

身上

{
    "project_name":"school",
}

如何在 Laravel 中对上述控制器使用 PHP 单元测试?。请用代码片段向我解释。

您可以使用 HTTP 测试进行测试。为了对此进行测试,您可以向定义的路线发出请求。

public function testUpdateProject()
{
    $response = $this->json('POST', '/api/updateProject/project-id',$updatedData);

    $response
        ->assertStatus(201)
        ->assertJson([
           'field_that_return' = true
        ]);
}