1. In the program implementation, first request the API to generate a cache ID. Then request the API, delete the cache ID. as shown in Figure 1

2. If you want to pass in the test, the premise is that there must be a clear cache ID to delete the parameters of the request.
3. Reference URL:https://learnku.com/laravel/t/22690. Use the TDD test-driven development to build the Laravel REST API. The test deletion route is to directly manipulate the database, generate a record, and then call the HTTP API to test the deletion operation.
// 测试删除路由
public function testDelete(){
$token = $this->authenticate();
$recipe = Recipe::create([
'title' => 'Jollof Rice',
'procedure' => 'Parboil rice, get pepper and mix, and some spice and serve!'
]);
$this->user->recipes()->save($recipe);
$response = $this->withHeaders([
'Authorization' => 'Bearer '. $token,
])->json('POST',route('recipe.delete',['recipe' => $recipe->id]));
$response->assertStatus(200);
// 断言没有食谱
$this->assertEquals(0,$this->user->recipes()->count());
}
4. Therefore, the decision is also designed in this way. First operate the cache directly, generate the corresponding cache ID, and then perform the HTTP API request test.
public function testDeleteThemeEditorCode(): void
{
$random = Str::random(36);
$value = [
'theme_id' => 'vogue'
];
Cache::tags([ThemeEditorResolver::TAG_THEME_EDITOR, ThemeEditorResolver::TAG_THEME_EDITOR_CODE])->put($random, $value, 86400);
$response = $this->graphQL('
mutation DeleteThemeEditorCode($themeEditorCode: String!) {
onlineStoreThemeEditorCodeDelete(themeEditorCode: $themeEditorCode) {
deletedThemeEditorCode
}
}
', [
'themeEditorCode' => $random,
]);
$response->assertJson(
[
'data' => [
'onlineStoreThemeEditorCodeDelete' => [
'deletedThemeEditorCode' => $random
],
],
]
);
}
5. Run the test and pass the test. as shown in Figure 2

PS E:\wwwroot\object> .\vendor\bin\phpunit .\Modules\ThemeStore\Tests\Functional\GraphQl\ThemeEditorGraphQlApiTest.php
PHPUnit 7.5.20 by Sebastian Bergmann and contributors.
.. 2 / 2 (100%)
Time: 1.31 seconds, Memory: 72.00 MB
OK (2 tests, 4 assertions)
需要长期技术维护或远程问题排查?
我是拥有 15+ 年经验的 PHP / Go 后端工程师,长期关注已有系统维护、Bug 修复、性能优化、服务器排查、WordPress 网站维护和小功能迭代。
如果你的项目遇到以下情况,可以先从一次小问题排查开始合作:
- ✅ PHP / Laravel / Yii2 老项目无人维护
- ✅ Go / Gin 后端接口需要排查或优化
- ✅ WordPress 网站访问慢、报错或插件冲突
- ✅ Nginx / MySQL / Redis / Linux 服务器异常
- ✅ CDN / Cloudflare / DNS / HTTPS 配置问题
- ✅ 需要长期远程技术支持或兼职维护
更多介绍请查看:关于我 & 合作
微信:13980074657
邮箱:shuijingwanwq@gmail.com
Telegram:@shuijingwan
GitHub:https://github.com/shuijingwan


发表回复