测试你的 Laravel 应用程序对于确保代码按预期工作至关重要。Pest 是一个 PHP 测试框架,设计简洁且用户友好。在这篇博客文章中,我们将通过一个示例讲解如何在 Laravel 中使用 Pest 创建测试用例,测试创建 Employer 记录,包括上传 logo。
前提条件
-
已设置 Laravel 应用程序
-
在你的 Laravel 应用程序中安装 Pest
如果你还没有安装 Pest,可以按照官方 Pest 安装指南进行安装。
第一步:设置模型和关系
确保你的 User 和 Employer 模型设置正确,并具有必要的关系。
User 模型 (app/Models/User.php):
php复制代码namespace App\Models; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Database\Eloquent\Relations\HasOne; class User extends Authenticatable { public function employer(): HasOne { return $this->hasOne(Employer::class); } }
Employer 模型 (app/Models/Employer.php):
php复制代码namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; class Employer extends Model { protected $fillable = ['name', 'email', 'phone', 'address', 'city', 'website', 'user_id', 'logo']; public function user(): BelongsTo { return $this->belongsTo(User::class); } }
第二步:设置工厂
创建生成测试数据的工厂。
User 工厂 (database/factories/UserFactory.php):
php复制代码namespace Database\Factories; use App\Models\User; use Illuminate\Database\Elo