问题标签 [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 回答
490 浏览

php - Laravel 测试。测试时重置控制器 DI

我有一个带有 DI 的 Laravel 控制器

我有一个基于此控制器的调用或端点的 API 测试。我正在使用不同的有效负载进行 8 个相同的 API url 调用。似乎 z 控制器构造函数处理 1 次,然后处理构造的依赖项。

我可以在测试中的每个 API 调用之前以某种方式设置依赖项吗?

0 投票
1 回答
73 浏览

laravel - 在测试中创建的文件默认不会使用 Laravel 5.7 中的 move 方法上传到公用文件夹

我正在尝试在 laravel 5.7 中创建一个测试,该测试涉及创建一个假图像对象,该对象进一步被服务使用,该服务将其移动到公用文件夹中的所需目录。如果我通过浏览器上传文件,我的服务工作正常,但如果我通过测试运行,它会在根目录中创建一个文件夹并在那里上传图像。

服务代码:

测试文件代码:

现在,如果我在服务代码中指定路径,它会给出所需的结果

有没有办法不硬编码 public_path 依赖项?

0 投票
1 回答
400 浏览

laravel - 在 laravel 测试中禁用异常处理

我一直在尝试在我的测试中禁用异常处理,以便我可以看到错误,但即使我故意破坏代码它也不起作用。

我只是得到这个通用的响应,并没有太大帮助。

我已经尝试了所有可以在网上找到的解决方案,但没有一个有效。

我尝试$this->disableExceptionHandling()在测试方法的顶部添加,它没有用。我还尝试了 Adam Wathan 的教程(https://gist.github.com/adamwathan/125847c7e3f16b88fa33a9f8b42333da),但也没有用。

我什至尝试过编辑 Handler.php 文件

它现在仍在工作。

请问我该如何解决这个问题。

任何帮助,将不胜感激。

谢谢。

0 投票
1 回答
1290 浏览

laravel - Laravel 5.7 Testing with Passport in seeder

I have a UsersTableSeeder which generates a Passport personal token:

However, when I seed my tests with $this->artisan('db:seed');, I'm receiving the following error:

Mockery\Exception\BadMethodCallException: Received Mockery_1_Illuminate_Console_OutputStyle::askQuestion(), but no expectations were specified

0 投票
1 回答
131 浏览

laravel - 使用虚拟数据库测试护照 oauth2 时,laravel 测试失败

我正在使用虚拟测试数据库进行测试。我的 API 正在与邮递员合作。但是在编写测​​试时会产生问题。当我执行测试时,它会显示一长串错误,其中包含以下消息 -

"message": "客户端错误:POST http://localhost/oauth/token导致401 Unauthorized 响应:\n{\"error\":\"invalid_client\",\"message\":\"Client authentication failed\"}

这是我的路线-

这是我的控制器

这是我的测试-

请帮助我我错过了什么

0 投票
0 回答
64 浏览

php - 如何测试阵列控制台输入

我更喜欢在我的日常工作流程中使用“几乎 TDD”。几天前,我遇到了这个问题。

想象一个具有这种签名的命令。

protected $signature = 'sync:store {--storeId= : Sync stores}';

在我的测试套件中,我添加了

一切正常,但第二天的命令不起作用。我忽略了*我的签名。这就是为什么测试是绿色的,但该选项不起作用。

有没有办法验证数组符号是否按需要工作?因为这是我面临的现实问题。

0 投票
0 回答
29 浏览

phpunit - 无法覆盖phpunit报告到html

当我运行这个命令时:

./vendor/bin/phpunit --coverage-html testResult

它正在运行,但导出错误:

没有可用的代码覆盖驱动程序

这是 php.ini:

我不知道我的问题是什么。请帮忙

0 投票
1 回答
454 浏览

php - Laravel 5.6:assertSessionHasErrors 导致“违反完整性约束:19 NOT NULL 约束失败”错误

我正在尝试设置一个测试来检查不完整的表单是否无法提交到数据库并且我一直遇到问题,目前每次我运行 phpunit 这就是我得到的:

在此处输入图像描述

我的测试是这样设置的:

设置不完整表单的工厂设置如下:

我已经尝试将测试从 factory...->create 更改为 factory...->make,修改 assertSessionHasErrors 以仅检查 ['uploads.top_25_accounts'] 并使 $form 只是一个空数组,但什么也没有似乎奏效了。

0 投票
2 回答
1042 浏览

php - 如何为销毁方法 Laravel 5.6 设置测试

我正在对我的应用程序进行测试,并且已经到了需要测试控制器的销毁方法的地步。我目前的测试是:

我正在测试的控制器中的方法是:

当我运行 phpunit 时,我收到错误:

我应该怎么做才能让测试正常运行?

0 投票
1 回答
1221 浏览

laravel - Phpunit:在 laravel 中处理验证异常

我已经上交throw Exceptionhandler.php以便我可以捕捉exceptions并看到,errors但发生的事情是,当我尝试这样做时,validation checks它会抛出一个异常,这是正确的,但在我的测试用例中,我没有捕捉到exception我断言会话有错误。

因为,validation error是一个异常,所以它会抛出一个异常,因为我已将handler.php文件修改为

所以,我想做的是改变这个测试的环境,这样它就不会给我一个“异常”