在一个单元测试中,写多个http 请求,但只走一次构造函数。

在一个单元测试中#

    public function testRemove()
    {
        $response = $this->user(1)
            ->post('api/1/remove', [
            ]);
        $response->assertJson(['code' => -1]);

        $response = $this->user(2)
            ->post('api/1/remove', [
            ]);
        $response->assertJson(['code' => 1]);
    }
  • 请求 2 次是为了覆盖不用用户的角色
  • user () 方法 主要是 赋值 新的 user auth ()->setUser (User::find ($id));

问题#

  • 第一次请求时会 走到对应类中的 构造函数
    public function __construct()
      {
          $this->user = auth()->user();
      }
  • 第二请求就越过了。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

不小心误操作删除了之前的评论,简单的来说就是: “对应类中” 的 构造函数,中的 对应的类 实例。

4年前 评论
讨论数量: 6

你只实例化一次肯定只走一次咯

4年前 评论

@WindyLater 您好 能具体说下,我再哪应该实例化 两次呢

4年前 评论

意思是说 我应该写两个单元测试方法,而不是 在一个单元测试把所有情况都写了?

4年前 评论

不小心误操作删除了之前的评论,简单的来说就是: “对应类中” 的 构造函数,中的 对应的类 实例。

4年前 评论

@bigbug 我前面说的对应类 其实就是 controller

4年前 评论

@bigbug 我之前 觉得 每一次的 HTTP 测试请求 都是 重新的实例的

4年前 评论
洛未必达 4年前
lai (作者) (楼主) 4年前