php - ReflectionException:类邮件程序不存在
问题描述
如果我\mail
在测试类中使用,Laravel 5.7 会告诉我该类mailer
不存在。
这是我的测试功能:
/**
* A basic test example.
*
* @return void
*/
public function testBasicTest()
{
\Mail::raw('Hello world', function($message){
$message->to('foo@bar.com');
$message->from('bar@foo.com');
});
}
当我进入phpunit
终端时会发生这种情况:
1) Tests\Feature\ExampleTest::testBasicTest ReflectionException: Class mailer 不存在
/home/www/testmachine/vendor/laravel/framework/src/Illuminate/Container/Container.php:779 /home/www/testmachine/vendor/laravel/framework/src/Illuminate/Container/Container.php:658 /home /www/testmachine/vendor/laravel/framework/src/Illuminate/Container/Container.php:609 /home/www/testmachine/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:735 /home/www /testmachine/vendor/laravel/framework/src/Illuminate/Container/Container.php:1222 /home/www/testmachine/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:175 /home/www /testmachine/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:144 /home/www/testmachine/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:231 /home /www/testmachine/tests/Feature/ExampleTest.php:14
但是,当我在应用程序的其他地方使用邮件时,它可以工作,例如Route.php
:
Route::get('/test', function(){
\Mail::raw('Hello world', function($message){
$message->to('foo@bar.com');
$message->from('bar@foo.com');
});
dd('hi');
});
我按照这里的建议检查了Illuminate\Mail\MailServiceProvider::class
它在 app.php 中,我还按照这里的建议执行了一个composer update
然后。composer dump-autoload
任何想法为什么会引发此错误?
解决方案
在测试类中,我认为您需要使用 use 语句在顶部指定 Mail 类:
use Illuminate\Support\Facades\Mail;
Mail::fake()
但是,在您的测试走得太远之前,请检查一下邮件伪造能力 ( )。
推荐阅读
- amazon-web-services - AWS Elasticache redis 突然变慢
- sql - 当两列相似而一列不同时如何删除SQL中的重复记录
- parallel-processing - 分发调度程序作业记录的处理
- emacs - 计算数字参数之前的通用参数的数量
- android - Android自定义适配器不显示所有项目
- error-handling - 我需要帮助重构 Rust 中的错误处理
- c - 为什么地址栏中的 UTF-8 Unicode 与 GET 形式在 C 中有所不同?
- javascript - 基于键从 HTML 和 JavaScript 中的 excel 电子表格中获取行
- javascript - 如何在 React-native 中使用 Picker 设置状态?
- android - 检测到不一致,在执行拉动刷新和滚动列表时回收视图