Laravel-使用Value标签测试编辑表单

时间:2018-10-18 04:50:11

标签: php laravel phpunit laravel-5.6

我正在使用Laravel 5.6开发网站。

当前,我想为该网站编写测试代码。总体而言,我对网站建设还是陌生的,这对我来说是学习曲线,以了解我在做错什么。

我基于用户模型创建了个人资料,并且该个人资料只能由经过身份验证的用户编辑。

该表单实际上在浏览器端正常运行,但是一旦我运行phpunit,它将失败。

测试脚本:

0 < end < 13

控制器:

start

查看:

end

注释掉的表单测试的图像: Commented Form

未评论的表单测试的图像: Not commented Form

我很困惑为什么在插入带有value标签的表单后测试失败了。如果我注释掉了表格或只是删除了value标签,则测试将通过。

经过几天的搜索,仍然找不到正确的答案。我在使用正确的断言吗?我在这里想念什么?任何输入将有助于我进一步理解这一点。谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了答案。实际上是我创建的工厂。

在用户模型中,每次注册都会导致创建一个空的个人资料。

这是我编写测试脚本的新方法:

/** @test */
public function an_authenticated_user_can_view_the_profile_page()
{
    //Generate a fake profile
    $profile = factory('App\Profile')->create();

    // Assign it to the user
    $user = $profile->user;

    // Authenticate the user
    $this->be($user);

    // Will get the URL
    $response = $this->get('/profile/'.$user->name);

    // Check whether the string exists
    $response->assertSee('Personal details for '.$user['name']);
}