瀏覽代碼

提示修改

Your Name 5 月之前
父節點
當前提交
4e4fe80da5

+ 31 - 2
AiWork/2025年07月/20日0515-玫瑰种子只能在金土地种植限制.md

@@ -135,8 +135,37 @@ WHERE item_id = 17;
 1. 添加`kku_farm_seeds.allowed_land_types`字段
 2. 更新玫瑰种子配置数据
 
+## 单元测试
+
+### 测试文件
+**文件**: `tests/Unit/AppGame/SowHandlerSimpleTest.php`
+
+### 测试覆盖
+1. **RequestLandSow和ResponseLandSow对象结构测试**
+2. **SowHandler类结构验证**
+3. **SeedLandTypeValidator验证器功能测试**
+   - 玫瑰种子在普通土地种植失败
+   - 玫瑰种子在金土地种植成功
+4. **FarmSeed模型土地类型检查方法测试**
+   - `canPlantOnLandType()` 方法
+   - `canPlantOnLandTypeOrHigher()` 方法
+5. **AllowedLandTypesCast功能测试**
+6. **土地等级概念验证**
+
+### 测试结果
+```
+PHPUnit 11.5.20 by Sebastian Bergmann and contributors.
+.........                                                           9 / 9 (100%)
+Time: 00:01.029, Memory: 56.50 MB
+OK (9 tests, 38 assertions)
+```
+
+所有测试通过,验证了功能的正确性。
+
 ## 总结
 
-成功实现了玫瑰种子只能在金土地及以上等级种植的限制功能。该实现具有良好的扩展性,可以轻松为其他种子配置不同的土地类型要求,同时保持了向下兼容性和代码的可维护性。
+成功实现了玫瑰种子只能在金土地及以上等级种植的限制功能,并编写了完整的单元测试进行验证。该实现具有良好的扩展性,可以轻松为其他种子配置不同的土地类型要求,同时保持了向下兼容性和代码的可维护性。
 
-**提交信息**: f4f40c04 - 实现玫瑰种子只能在金土地及以上等级种植的限制功能
+**提交信息**:
+- f4f40c04 - 实现玫瑰种子只能在金土地及以上等级种植的限制功能
+- a9f0a2c5 - 为SowHandler编写单元测试,验证玫瑰种子土地类型限制功能

+ 1 - 1
app/Module/Farm/Validators/LandUpgradePathValidator.php

@@ -38,7 +38,7 @@ class LandUpgradePathValidator extends Validator
             $upgradePaths = LandService::getAvailableUpgradePaths($userId, $landId);
 
             if (empty($upgradePaths)) {
-                $this->addError('当前没有可用的升级路径');
+                $this->addError('不能升级,确认房屋等级足够');
                 return false;
             }
 

+ 1 - 1
app/Module/Farm/Validators/SeedLandTypeValidator.php

@@ -80,6 +80,6 @@ class SeedLandTypeValidator extends Validator
         $allowedTypesStr = implode('、', $allowedTypeNames);
         $currentLandTypeName = \App\Module\Farm\Enums\LAND_TYPE::getName($land->land_type);
         
-        return "该种子只能在{$allowedTypesStr}及以上等级的土地种植,当前土地类型为{$currentLandTypeName}";
+        return "该种子只能在{$allowedTypesStr}土地种植,当前为{$currentLandTypeName}";
     }
 }