问题标签 [laravel-testing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
381 浏览

laravel - 在 Laravel 7 中使用观察者测试模型

我正在尝试测试创建模型的控制器。

有一个观察者created在模型上监听事件。观察者负责调度作业以创建依赖于基本模型/表的子模型(表条目)。

我知道这I'm sure it will work是在测试时说的最糟糕的话。为了能够测试整个过程的功能,我添加了类似的东西;

我觉得这段代码不应该出现在 prod 版本中。有没有更简洁的方法可以在测试时立即分派工作

谢谢你。

0 投票
1 回答
976 浏览

laravel - 如何使用 CSRF 令牌测试 Laravel / Sanctum 端点

我有一个无头 laravel 实例连接到子域上的 SPA。作为我的第一个测试,我想在未登录的情况下尝试从 api 检索用户数据时看到 401。我的 api 路径定义如下:

我知道在用户成功连接到应用程序之前需要 CSRF 令牌,但我不确定如何将其包含在我的测试过程中,如下所示

在文档的Sanctum 测试部分中,我看到了以下方法:

对我来说,这里的问题是我不想尝试以用户身份加载此路径,我想知道如何模拟具有令牌但未登录的客户端计算机。这可能吗?

0 投票
1 回答
171 浏览

laravel - 是否可以在单元测试的验证异常中打印错误?

使用单元测试测试 API 时,是否可以从错误包中打印消息?是的,它已经显示了异常,但它没有具体说明错误是什么以及在哪个验证中。

为了清楚起见,请看一下:

而我所期待的:

更新

已经尝试过了,但不起作用:

另外请看一下我的脚本:

0 投票
1 回答
81 浏览

laravel - 从 laravel 7 更新到 laravel 8 后所有测试都失败

从 laravel 7 更新到版本 8 后,所有测试都失败并出现相同的错误:

我也在使用legacy-factories旧工厂方法的包

0 投票
0 回答
14 浏览

laravel - http-tests 如何在打开表单的情况下对 ajax 事件进行测试?

在 laravel 6 / bootstrap 4 / jquery: 3.3.1 应用程序中,我使用https://laravel.com/docs/6.x/http-tests中的方法制作 http-tests 我需要对编辑器打开事件进行测试,即当操作员点击按钮时触发:

和 item_edit_form 块必须显示和 item_view_form 隐藏。如果 item_edit_form 块,我可以在里面进行检查,比如输入填充了项目的有效值吗?如果是,我应该使用哪些方法?

谢谢!

0 投票
0 回答
1670 浏览

php - 运行测试时 Laravel RefreshDatabase 不起作用

我创建了一个功能测试 api。

CategoryApiTest.php

这种情况总是返回失败,因为找不到带有 的类别id = 1
我检查了列表类别,我看到:
在此处输入图像描述

我创建了文件.env.testing和数据库测试,但我认为phpunit.xml不使用文件.env.testing所以RefreshDatabase不起作用。

数据测试没有refresh。有问题,请帮我解决。

0 投票
1 回答
635 浏览

laravel - Laravel 工厂创建而不调用 afterCreating 回调

在编写测试时,我正在使用工厂创建模型,$recipe = factory(Recipe::class)->create()但是每次创建配方时都会运行并添加关系的回调RecipeFactoryafterCreating

有没有办法跳过这个回调?我不希望创建任何关系。

RecipeFactory.phpafterCreating回调

0 投票
1 回答
312 浏览

javascript - 如何使用 Chart consoletvs/charts:7.* 在 Laravel 8 中解决此错误“Uncaught SyntaxError: Cannot use import statement outside a module”?

我已遵循 [https://chartisan.dev/documentationip top1] 中的所有步骤。使用 CDN 链接一切正常,我可以加载任何图表。

但是我不会使用 CDN 链接,所以我删除了上面的这两行并使用npm install chart.js@chartisan/chartjs安装了前端适配器,以便能够在没有 CDN 的情况下使用图表,这是我下面的代码

当我运行时出现此错误:

0 投票
1 回答
108 浏览

laravel - Laravel - 测试 - assertJsonMissingExact

我不得不承认这是我第一次使用这种方法

在描述之前,这里是本案例中的 Laravel 和 PHP 版本。Laravel:8.15 PHP:7.4.13

  • 我的路线:
  • 当我的测试方法如下时,它失败了,这是我的预期
  • 然后,我使用了 assertJsonMissingExact,我预计它会通过。
  • 然而,它没有通过。相反,这是消息

它说测试没有执行任何断言。我想知道这是否正常?因为我期待一个passed结果。

任何人都可以帮助我,将不胜感激。

0 投票
1 回答
53 浏览

laravel - Laravel Faker 数据在拆解或测试结束时会发生什么

我想编写一个端到端的测试,在该过程的某个阶段将搜索具有特定 id 的模型,并根据它更新一些数据。为了避免在生产环境中运行时触及任何真实数据,我知道我们可以使用 Laravel Faker 创建模型的假实例,然后对其运行操作,即

在测试开始时,我可以运行:

据我了解,这将在数据库中创建一个具有自己唯一 ID 的实例。完成测试后,我有两个关于该实例的问题...

  1. 当使用 parent::teardown() 或类似的东西时,该条目是否仍然存在或被设计自动删除?
  2. 如果我必须手动删除它,ids 中是否会有一个跳过的条目,因为我创建的被分配 id 20 的实例不再存在,所以任何查看表格的人都会看到 ids: ...18, 19, 21 ... 等等?

对我来说,我不太确定是否可以将虚拟数据保存在生产数据库中,这完全可以吗?