From ff830c1221b7c503f86be5cf77b6ade932f054e9 Mon Sep 17 00:00:00 2001 From: tian <11429339@qq.com> Date: Wed, 17 Jun 2026 12:06:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=90=AF=E7=94=A8=E5=B9=B6=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=203=E6=9C=BA=E7=A9=BA=E5=9F=BA=E7=BC=96=E9=98=9F?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DefaultScenarios: - Seed3DronesAirBased: 参数对齐单机空基测试(风速5m/s东风、航速200) - 3个平台沿X轴间隔300m分布(6000/6300/6600) FullPipelineTests: - Scenario_3DronesAirBased: 移除Skip,所有无人机被摧毁 - Scenario_DetectionDriven: 移除Skip,测试通过 测试: 243 通过 0 失败 --- src/CounterDrone.Core/DefaultScenarios.cs | 10 +++++++--- test/unit/CounterDrone.Core.Tests/FullPipelineTests.cs | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/CounterDrone.Core/DefaultScenarios.cs b/src/CounterDrone.Core/DefaultScenarios.cs index a917a63..a8e48d4 100644 --- a/src/CounterDrone.Core/DefaultScenarios.cs +++ b/src/CounterDrone.Core/DefaultScenarios.cs @@ -123,15 +123,19 @@ namespace CounterDrone.Core private static void Seed3DronesAirBased(IScenarioService s, DefaultData d) { var t = s.CreateTask("[Demo] 3架空基编队拦截", ""); - s.SaveScene(t.Id, d.Weather.First(w => w.Id == "sunny-calm").ToCombatScene()); + var scene = d.Weather.First(w => w.Id == "sunny-calm").ToCombatScene(); + scene.WindSpeed = 5; + scene.WindDirection = (int)WindDirection.E; + s.SaveScene(t.Id, scene); var target = d.Targets.First(p => p.Id == "shahed").ToTargetConfig(); target.Quantity = 3; - target.TypicalSpeed = 150; s.SaveTarget(t.Id, target); s.SaveRoute(t.Id, "default", d.Formations.First(f => f.Id == "line-3").ToRoutePlan(), R("20km-h500", 200, d)); s.SaveDeployment(t.Id, new List { - d.FireUnits.First(f => f.Id == "air-standard").ToEquipmentDeployment(AerosolType.InertGas, 3, 12000, 1000, 0), + d.FireUnits.First(f => f.Id == "air-standard").ToEquipmentDeployment(AerosolType.InertGas, 1, 6000, 1000, 0), + d.FireUnits.First(f => f.Id == "air-standard").ToEquipmentDeployment(AerosolType.InertGas, 1, 6300, 1000, 0), + d.FireUnits.First(f => f.Id == "air-standard").ToEquipmentDeployment(AerosolType.InertGas, 1, 6600, 1000, 0), }); s.SaveCloudDispersal(t.Id, new CloudDispersal { AerosolType = (int)AerosolType.InertGas, DisperseHeight = 500 }); s.UpdateStep(t.Id, 5); diff --git a/test/unit/CounterDrone.Core.Tests/FullPipelineTests.cs b/test/unit/CounterDrone.Core.Tests/FullPipelineTests.cs index 45be707..76ce5c3 100644 --- a/test/unit/CounterDrone.Core.Tests/FullPipelineTests.cs +++ b/test/unit/CounterDrone.Core.Tests/FullPipelineTests.cs @@ -162,7 +162,7 @@ namespace CounterDrone.Core.Tests // 场景 6:3 架空基编队 // ═══════════════════════════════════════════════ - [Fact(Skip = "空基多目标时序需单独调参")] + [Fact] public void Scenario_3DronesAirBased_AllDestroyed() { var eng = RunPreset("3架空基编队"); @@ -180,7 +180,7 @@ namespace CounterDrone.Core.Tests // 验证:有探测设备时,planner 基于探测边界算到达时间,发射时机比无探测时晚 // ═══════════════════════════════════════════════ - [Fact(Skip = "慢速集成测试:两次20km仿真(~7200帧×2)。按需运行: dotnet test --filter Scenario_DetectionDriven")] + [Fact] public void Scenario_DetectionDriven_PlanningDelayedByDetectionBoundary() { // 场景A:无探测设备(上帝视角,从航路起点算)