问题标签 [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.
laravel - 如果在 Laravel 中广播事件,如何测试/断言
我正在开发一个 Laravel 应用程序。我在我的应用程序中使用 Laravel 广播。我现在要做的是尝试测试是否在 Laravel 中广播了一个事件。
我正在广播这样的事件:
我想测试是否广播了该事件。我该如何测试它?我的意思是在单元测试中。我想做类似的事情
附加信息
该事件在创建项目时触发的观察者事件中广播。
laravel - Laravel 单元测试是否在触发 eloquent 模型事件时触发事件
我正在开发一个 Laravel 应用程序并在此过程中编写测试。现在,我在编写一个测试时遇到问题,该测试断言在触发 eloquent 模型事件时是否触发了事件。这就是我正在做的事情。
这是我的 ItemObserver 创建的函数
如您所见,我在雄辩的模型观察者的创建事件中触发了一个事件。
如果我想断言是否在测试中触发了事件,我必须伪造事件然后断言类似这样的东西。
正如您在测试代码中看到的那样,我试图断言是否在创建项目时触发了事件。但是测试永远不会通过,因为观察者类的创建函数永远不会被调用,因为事件是在测试中伪造的。我该如何测试这种情况?
phpunit - 测试 Laravel 项目时的回声警告和注意事项
在测试 Laravel 项目时,我想在某些情况下手动回显警告。
laravel - Laravel 测试。断言准确的 JSON 结构
我有一个 laravel API 项目。有很多安全数据不应该在 API 响应中显示给用户。true
如果只有响应结构与测试中的预设结构完全相同,我需要一些方法来编写测试。
因此,如果我的测试结构是$structure = [ 'data' => ['_id', 'user' => ['name', 'email], 'title'];
,但作为响应,我收到或多或少的字段,我需要这个测试失败。
在我发现的文档中:
assertJson
- 期待确切的键 => 值,但我只需要一个键;
assertJsonStructure
- 即使某些字段丢失或响应包含一些其他字段,也返回 true。
laravel-dusk - 如何在 Laravel Dusk 浏览器测试、单元测试和功能测试之间共享代码
php artisan make:test -- unit UnitTestClassName
使用扩展创建的单元测试\Tests\TestCase
功能测试创建php artisan make:test FunctionalTestClassName
也扩展\Tests\TestCase
\Tests\TestCase
延伸Illuminate\Foundation\Testing\TestCase
但是,Laravel Dusk 浏览器测试用例使用php artisan dusk:make DuskTestClassName
extend创建\Tests\DuskTestCase
,而后者又扩展Laravel\Dusk\TestCase
似乎没有通用类,我可以向其中添加要测试的用户之类的内容(至少在供应商文件夹之外)。
为了允许共享代码,我在 app\Traits\TestData.php 中创建了一个特征:
我use
在我的测试中具有这种特征。有没有更好的办法?具体来说,我缺少一个常见的测试类吗?
我遇到的具体问题是我的特征没有扩展任何TestCase,所以我不能调用像
$this->assertNotNull($testUser,"Test user not found");
在我的特质中,所以我需要在 TestCase 和 DuskTestCase 中复制该代码。
laravel - laravel windows local phpunit.bat 变空
我一直在进行黄昏浏览器测试,然后回到我的一些 phpUnit 单元测试,然后运行:
令我惊讶的是,什么也没发生!
我发现 phpunit.bat 文件被截断 - 0 字节长。
这个文件的内容应该是什么?
Laravel 5.4.36
laravel - 尚未设置外观根
- 拉拉维尔 6.5
- Laravel 浏览器套件 ^5.1
我正在为我正在构建的东西创建自己的包,其中一个导致了手头的问题:尚未设置外观根。当我运行测试时。
这是路线文件App\Game\routes\web.php
:
非常基本,这里没有什么应该突出的。那么我们如何注册这些:
同样没有什么疯狂的,如果我们将它添加到config/app.php
并运行php artisan route:list
我们会看到:
你可以看到上面的游戏路线。所以现在让我们运行我们的测试,确保没有任何问题......
web.php
当它尝试创建路由时,这一切都是由该路由文件引起的: Route::get(....)
. 据我了解router
,当应用程序启动测试时,应用程序容器中不存在。
我曾尝试调用setUp
我的测试类,并将其称为父级。但我仍然得到错误。
我以前从未遇到过这种情况,互联网对我没有任何帮助。关于我为什么会收到此错误的任何想法?
php - Laravel 模拟多个 Guzzle 端点
我正在使用 Laravel 6 并尝试测试端点。端点向外部 API 发出 2 个请求(来自 mollie)。目前我像这样嘲笑它:
抽象基MollieEndpointTest
我所有的测试都从那个 ^ 抽象类扩展而来。我这样实现它:
这是有效的。但问题是当我需要在同一个 api 调用中模拟另一个请求时,我会得到相同的结果。
那么如何确保我可以模拟 2 个响应(而不是 1 个)并将其返回给特定的 url?
laravel - 通知假断言不适用于密码重置测试?
我试图为我的身份验证路线进行测试。对于密码重置路线,我试图在其中伪造 laravel 的通知模块并根据文档进行断言。这是我的测试文件
当我运行这个时,我得到了notification was not sent
错误。
我的用户模型是这样的:
我无法弄清楚确切的问题是什么。