| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <?php
- /**
- * 简单的测试运行器
- * 用于快速验证测试配置和环境
- */
- require_once __DIR__ . '/../../../../vendor/autoload.php';
- use App\Module\AppGame\Tests\TestEnvironment;
- use App\Module\AppGame\Tests\TestConfig;
- echo "=== 测试环境验证 ===\n";
- try {
- // 1. 加载环境变量
- echo "1. 加载测试环境变量...\n";
- TestEnvironment::load();
- echo "✅ 环境变量加载成功\n";
- // 2. 验证基本配置
- echo "\n2. 验证基本配置...\n";
- $testUrl = TestEnvironment::getTestUrl();
- echo "测试URL: {$testUrl}\n";
- $testUser = TestEnvironment::getTestUser();
- echo "测试用户: " . json_encode($testUser, JSON_UNESCAPED_UNICODE) . "\n";
- // 3. 验证灾害去除配置
- echo "\n3. 验证灾害去除配置...\n";
- $pesticideConfig = TestConfig::getPesticideTestConfig();
- echo "除虫配置: " . json_encode($pesticideConfig, JSON_UNESCAPED_UNICODE) . "\n";
- $weedicideConfig = TestConfig::getWeedicideTestConfig();
- echo "除草配置: " . json_encode($weedicideConfig, JSON_UNESCAPED_UNICODE) . "\n";
- $wateringConfig = TestConfig::getWateringTestConfig();
- echo "浇水配置: " . json_encode($wateringConfig, JSON_UNESCAPED_UNICODE) . "\n";
- // 4. 验证测试物品配置
- echo "\n4. 验证测试物品配置...\n";
- $pesticideItem = TestConfig::getTestItem('pesticide');
- echo "除虫剂: " . json_encode($pesticideItem, JSON_UNESCAPED_UNICODE) . "\n";
- $weedicideItem = TestConfig::getTestItem('weedicide');
- echo "除草剂: " . json_encode($weedicideItem, JSON_UNESCAPED_UNICODE) . "\n";
- $wateringItem = TestConfig::getTestItem('watering_tool');
- echo "浇水道具: " . json_encode($wateringItem, JSON_UNESCAPED_UNICODE) . "\n";
- // 5. 验证测试土地配置
- echo "\n5. 验证测试土地配置...\n";
- $pestLand = TestConfig::getTestLand('pest_land');
- echo "虫害土地: " . json_encode($pestLand, JSON_UNESCAPED_UNICODE) . "\n";
- $weedLand = TestConfig::getTestLand('weed_land');
- echo "杂草土地: " . json_encode($weedLand, JSON_UNESCAPED_UNICODE) . "\n";
- $droughtLand = TestConfig::getTestLand('drought_land');
- echo "干旱土地: " . json_encode($droughtLand, JSON_UNESCAPED_UNICODE) . "\n";
- // 6. 验证测试场景配置
- echo "\n6. 验证测试场景配置...\n";
- $pesticideSuccess = TestConfig::getTestScenario('success_scenarios', 'pesticide_success');
- echo "除虫成功场景: " . json_encode($pesticideSuccess, JSON_UNESCAPED_UNICODE) . "\n";
- $invalidItem = TestConfig::getTestScenario('failure_scenarios', 'invalid_item');
- echo "无效物品场景: " . json_encode($invalidItem, JSON_UNESCAPED_UNICODE) . "\n";
- // 7. 验证调试配置
- echo "\n7. 验证调试配置...\n";
- $debugConfig = TestEnvironment::getDebugConfig();
- echo "调试配置: " . json_encode($debugConfig, JSON_UNESCAPED_UNICODE) . "\n";
- $isDebugMode = TestEnvironment::isDebugMode();
- echo "调试模式: " . ($isDebugMode ? '开启' : '关闭') . "\n";
- // 8. 验证性能配置
- echo "\n8. 验证性能配置...\n";
- $performanceConfig = TestEnvironment::getPerformanceConfig();
- echo "性能配置: " . json_encode($performanceConfig, JSON_UNESCAPED_UNICODE) . "\n";
- $concurrentConfig = TestEnvironment::getConcurrentConfig();
- echo "并发配置: " . json_encode($concurrentConfig, JSON_UNESCAPED_UNICODE) . "\n";
- $probabilityConfig = TestEnvironment::getProbabilityConfig();
- echo "概率配置: " . json_encode($probabilityConfig, JSON_UNESCAPED_UNICODE) . "\n";
- // 9. 测试网络连接
- echo "\n9. 测试网络连接...\n";
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $testUrl);
- curl_setopt($ch, CURLOPT_TIMEOUT, 5);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_NOBODY, true);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- $result = curl_exec($ch);
- $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
- $error = curl_error($ch);
- curl_close($ch);
- if ($result !== false && $httpCode > 0) {
- echo "✅ 服务器连接正常 (HTTP {$httpCode})\n";
- } else {
- echo "❌ 服务器连接失败: {$error}\n";
- }
- echo "\n=== 环境验证完成 ===\n";
- echo "✅ 所有配置验证通过,可以开始运行测试\n";
- } catch (Exception $e) {
- echo "❌ 环境验证失败: " . $e->getMessage() . "\n";
- echo "错误详情: " . $e->getTraceAsString() . "\n";
- exit(1);
- }
- // 10. 显示使用说明
- echo "\n=== 使用说明 ===\n";
- echo "环境验证完成,您可以使用以下命令运行测试:\n\n";
- echo "# 运行所有测试\n";
- echo "./app/Module/AppGame/Tests/run_tests.sh all\n\n";
- echo "# 运行特定测试\n";
- echo "./app/Module/AppGame/Tests/run_tests.sh pesticide\n";
- echo "./app/Module/AppGame/Tests/run_tests.sh weedicide\n";
- echo "./app/Module/AppGame/Tests/run_tests.sh watering\n\n";
- echo "# 使用Laravel测试命令\n";
- echo "php artisan test app/Module/AppGame/Tests/Land/PesticideHandlerTest.php\n\n";
- echo "# 准备测试数据\n";
- echo "php app/Module/AppGame/Tests/prepare_test_data.php prepare\n\n";
- echo "# 清理测试数据\n";
- echo "php app/Module/AppGame/Tests/prepare_test_data.php cleanup\n\n";
|