我正在使用Laravel 5.6开发网站。
当前,我想为该网站编写测试代码。总体而言,我对网站建设还是陌生的,这对我来说是学习曲线,以了解我在做错什么。
我基于用户模型创建了个人资料,并且该个人资料只能由经过身份验证的用户编辑。
该表单实际上在浏览器端正常运行,但是一旦我运行phpunit,它将失败。
测试脚本:
0 < end < 13
控制器:
start
查看:
end
注释掉的表单测试的图像: Commented Form
未评论的表单测试的图像: Not commented Form
我很困惑为什么在插入带有value标签的表单后测试失败了。如果我注释掉了表格或只是删除了value标签,则测试将通过。
经过几天的搜索,仍然找不到正确的答案。我在使用正确的断言吗?我在这里想念什么?任何输入将有助于我进一步理解这一点。谢谢!
答案 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']);
}