Laravel 5:assertSeeText()和html实体 - php

我正在使用PHP Faker在数据库中生成随机数据(使用工厂),有时它会生成撇号。

在测试中,我使用assertSeeText()
问题在于,当测试的字符串包含特殊字符(例如撇号)时,这些字符将在视图中转换为html实体,因此断言为false。

$siteShow = factory(Site::class)->create();
$this->get('admin/site/'. $siteShow->id_site)
        ->assertStatus(200)
        ->assertSeeText($siteShow->name)
        ->assertSeeText($siteShow->address)

断言失败的示例情况:$siteShow->name等于O'Neil。它失败,因为在视图中它显示为O'Neil

我的问题是:在两种情况下,如何使断言为真:视图中的名称为O'NeilO'Neil?我希望解决方案能够处理任何html实体。先感谢您。

参考方案

我找到了解决方案。由于我的观点是由Blade使用{{ ... }}语法生成的,因此文本被转义并通过htmlspecialchars()传递,如果我正确的话,尤其是通过e() helper传递。所以我只是做了以下工作,它的工作原理是:

$siteShow = factory(Site::class)->create();
$this->get('admin/site/'. $siteShow->id_site)
    ->assertStatus(200)
    ->assertSeeText(e($siteShow->name))
    ->assertSeeText(e($siteShow->address))

Laravel Blade模板尝试获取非对象的属性时如何返回null而不是ErrorException - php

我正在编写一些Laravel Blade模板,并且我的模型可能包含空对象。我非常想尝试获取对象属性,如果有错误,则返回null。因此,不必编写以下代码:@if ($model->child_object_that_may_be_null) {{ $model->child_object_that_may_be_null->interesti…

Laravel 5 Entrust更新用户角色 - php

我使用Laravel 5和Entrust创建了一个基于角色的项目,一切正常,直到我尝试更新用户的角色列表,血腥的“违反完整性约束”提醒我,在调用时$user->attachRoles($roles); 它不会首先删除用户的角色,所以我检查了usertrait的界面,然后提出了$user->detachRoles($user->roles);…

将所有具有特定路径名的URL重定向到某个视图-LARAVEL - php

好的,我正在使用laravel,网站和管理版块运行两个React项目。我希望两个应用程序都在单独的页面上呈现,因为它们的CSS会发生冲突。因此,在我的web.php中,我有这个Route::view('/{path?}', 'app');,但这会将我的所有路线重定向到我的app.blade.php视图。我只是想知道我是…

Laravel-无需登录即可认证用户 - php

在laravel 5.4中,可以在不登录用户的情况下对用户进行身份验证吗?从laravel doc中,我能找到的最接近的东西是:Auth::once($credentials) 但这仍然使该用户感到厌烦。我需要做的就是只是知道使用该电子邮件和密码的用户是否存在。 参考方案 您可以将Auth::attempt函数与第三个参数用作false进行登录 $email…

Laravel WHERE查询单列结果 - php

我有以下控制器,应该返回所有尚未验证的用户。public function getUserRequests() { $userRequests = User::where('status' ,"Not Verified"); foreach($userRequests as $user) { echo $user-&g…