广告
返回顶部
首页 > 资讯 > 精选 >Laravel unit test : 模拟认证的用户是什么
  • 654
分享到

Laravel unit test : 模拟认证的用户是什么

2023-06-14 20:06:38 654人浏览 安东尼
摘要

小编给大家分享一下Laravel unit test : 模拟认证的用户是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Laravel 是什么Laravel

小编给大家分享一下Laravel unit test : 模拟认证的用户是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Laravel 是什么

Laravel 是一套简洁、优雅的PHP web开发框架。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

Laravel unit test : 模拟认证的用户

在 Laravel 编写单元测试时经常会遇到需要模拟认证用户的时候,比如新建文章、创建订单等,那么在 Laravel unit test 中如何来实现呢?

官方解决方法

Laravel 的官方文档中的测试章节中有提到:

Of course, one common use of the session is for maintaining state for the authenticated user. The actingAs helper method provides a simple way to authenticate a given user as the current user. For example, we may use a model factory to generate and authenticate a user:
<?phpuse App\User;class ExampleTest extends TestCase{    public function testApplication()    {        $user = factory(User::class)->create();        $response = $this->actingAs($user)                         ->withSession(['foo' => 'bar'])                         ->get('/');    }}

其实就是使用 Laravel Testing Illuminate\Foundation\Testing\Concerns\ImpersonatesUsers Trait 中的 actingAsbe 方法。

设置以后在后续的测试代码中,我们可以通过 auth()->user() 等方法来获取当前认证的用户。

伪造认证用户

在官方的示例中有利用 factory 来创建一个真实的用户,但是更多的时候,我们只想用一个伪造的用户来作为认证用户即可,而不是通过 factory 来创建一个真实的用户。

在 tests 目录下新建一个 User calss:

use Illuminate\Foundation\Auth\User as Authenticatable;class User extends Authenticatable{    protected $fillable = [        'id', 'name', 'email', 'passWord',    ];}

必须在 $fillable 中添加 id attribute . 否则会抛出异常: Illuminate\Database\Eloquent\MassAssignmentException: id

接下来伪造一个用户认证用户:

$user = new User([    'id' => 1,    'name' => 'ibrand']); $this->be($user,'api');

以上是“Laravel unit test : 模拟认证的用户是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Laravel unit test : 模拟认证的用户是什么

本文链接: https://www.lsjlt.com/news/274555.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Laravel unit test : 模拟认证的用户是什么
    小编给大家分享一下Laravel unit test : 模拟认证的用户是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Laravel 是什么Laravel ...
    99+
    2023-06-14
  • Mysql用户认证的原理是什么
    Mysql用户认证的原理是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 一、用户认证原理    &nb...
    99+
    2022-10-18
  • ADO.NET模型认证的方法是什么
    本篇内容主要讲解“ADO.NET模型认证的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ADO.NET模型认证的方法是什么”吧!一、SqlConnection对象ADO.NET使用Sq...
    99+
    2023-06-17
  • 云服务器新用户认证试用的方法是什么
    云服务器新用户认证试用的方法通常包括以下步骤:1. 注册账号:首先,用户需要在云服务器提供商的官方网站上注册一个新的账号。2. 选择...
    99+
    2023-09-27
    云服务器
  • thinkphp默认用的模板引擎是什么
    今天小编给大家分享一下thinkphp默认用的模板引擎是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。thinkphp默...
    99+
    2023-07-02
  • MySQL的默认用户名和密码是什么
    这篇文章主要介绍MySQL的默认用户名和密码是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据...
    99+
    2022-10-18
  • phpmyadmin数据库管理工具的默认用户名和密码默认是什么
    小编给大家分享一下phpmyadmin数据库管理工具的默认用户名和密码默认是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!p...
    99+
    2022-10-18
  • 分配给用户变量的位值的默认类型是什么?
    默认情况下,分配给用户变量的位值是二进制字符串。可以通过将位值分配给用户变量然后按如下方式检索它们来说明 -mysql> SET @abc = 0b1000011; Query OK, 0 rows affected (0.00 se...
    99+
    2023-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作