问题标签 [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.
php - Laravel 测试。测试时重置控制器 DI
我有一个带有 DI 的 Laravel 控制器
我有一个基于此控制器的调用或端点的 API 测试。我正在使用不同的有效负载进行 8 个相同的 API url 调用。似乎 z 控制器构造函数处理 1 次,然后处理构造的依赖项。
我可以在测试中的每个 API 调用之前以某种方式设置依赖项吗?
laravel - 在测试中创建的文件默认不会使用 Laravel 5.7 中的 move 方法上传到公用文件夹
我正在尝试在 laravel 5.7 中创建一个测试,该测试涉及创建一个假图像对象,该对象进一步被服务使用,该服务将其移动到公用文件夹中的所需目录。如果我通过浏览器上传文件,我的服务工作正常,但如果我通过测试运行,它会在根目录中创建一个文件夹并在那里上传图像。
服务代码:
测试文件代码:
现在,如果我在服务代码中指定路径,它会给出所需的结果
有没有办法不硬编码 public_path 依赖项?
laravel - 在 laravel 测试中禁用异常处理
我一直在尝试在我的测试中禁用异常处理,以便我可以看到错误,但即使我故意破坏代码它也不起作用。
我只是得到这个通用的响应,并没有太大帮助。
我已经尝试了所有可以在网上找到的解决方案,但没有一个有效。
我尝试$this->disableExceptionHandling()
在测试方法的顶部添加,它没有用。我还尝试了 Adam Wathan 的教程(https://gist.github.com/adamwathan/125847c7e3f16b88fa33a9f8b42333da),但也没有用。
我什至尝试过编辑 Handler.php 文件
它现在仍在工作。
请问我该如何解决这个问题。
任何帮助,将不胜感激。
谢谢。
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
laravel - 使用虚拟数据库测试护照 oauth2 时,laravel 测试失败
我正在使用虚拟测试数据库进行测试。我的 API 正在与邮递员合作。但是在编写测试时会产生问题。当我执行测试时,它会显示一长串错误,其中包含以下消息 -
"message": "客户端错误:
POST http://localhost/oauth/token
导致401 Unauthorized
响应:\n{\"error\":\"invalid_client\",\"message\":\"Client authentication failed\"}
这是我的路线-
这是我的控制器
这是我的测试-
请帮助我我错过了什么
php - 如何测试阵列控制台输入
我更喜欢在我的日常工作流程中使用“几乎 TDD”。几天前,我遇到了这个问题。
想象一个具有这种签名的命令。
protected $signature = 'sync:store {--storeId= : Sync stores}';
在我的测试套件中,我添加了
一切正常,但第二天的命令不起作用。我忽略了*
我的签名。这就是为什么测试是绿色的,但该选项不起作用。
有没有办法验证数组符号是否按需要工作?因为这是我面临的现实问题。
phpunit - 无法覆盖phpunit报告到html
当我运行这个命令时:
./vendor/bin/phpunit --coverage-html testResult
它正在运行,但导出错误:
没有可用的代码覆盖驱动程序
这是 php.ini:
我不知道我的问题是什么。请帮忙
php - 如何为销毁方法 Laravel 5.6 设置测试
我正在对我的应用程序进行测试,并且已经到了需要测试控制器的销毁方法的地步。我目前的测试是:
我正在测试的控制器中的方法是:
当我运行 phpunit 时,我收到错误:
我应该怎么做才能让测试正常运行?
laravel - Phpunit:在 laravel 中处理验证异常
我已经上交throw Exception
,handler.php
以便我可以捕捉exceptions
并看到,errors
但发生的事情是,当我尝试这样做时,validation checks
它会抛出一个异常,这是正确的,但在我的测试用例中,我没有捕捉到exception
我断言会话有错误。
因为,validation error
是一个异常,所以它会抛出一个异常,因为我已将handler.php
文件修改为
所以,我想做的是改变这个测试的环境,这样它就不会给我一个“异常”