laravel - Laravel 仅在单元测试期间持续存在
问题描述
我正在对 API 端点进行单元测试,我有这样的事情:
public function testPostService()
{
$response = $this->json('POST', '/api/v1/service',[
"id"=> "someId",
"number" => 123
]);
$response
->assertStatus(201)
->assertJson([
'created' => true,
]);
}
id 是一个唯一值,每次运行测试时都会导致我遇到问题。我必须清空数据库或更改 id 值。
有什么方法可以只在测试期间保留持久值?
我的 phpunit.xml 是标准的
解决方案
有一个称为 traitRefreshDatabase
会在每次测试完成后刷新数据库。只需将其添加到您的测试用例类的类中,您就可以开始了。
这能解决你的问题吗?
推荐阅读
- react-native - 如果字符串为空,如何在反应导航中设置默认标题?
- reactjs - 我将如何为来自操作的 JSON 数据定义我的接口?
- php - 从 html 切换到 php 时消失的元素和奇怪的行为
- ubuntu - Gazebo sim 未运行,因为未找到安装的 netifaces 模块
- javascript - 跳过 NULL 并在下拉列表中仅显示唯一值
- google-data-studio - Google 数据洞察 - 群组请求
- java - ISO_DATE_TIME.format() 到带有可选偏移量的 LocalDateTime
- android - Android 任务与活动 - 它们“真正”是什么?
- qt - QML ListView填充动画不起作用
- python - Django 迁移没有迁移 authtoken 和会话