fix: 启用并修复 3机空基编队测试

DefaultScenarios:
- Seed3DronesAirBased: 参数对齐单机空基测试(风速5m/s东风、航速200)
- 3个平台沿X轴间隔300m分布(6000/6300/6600)

FullPipelineTests:
- Scenario_3DronesAirBased: 移除Skip,所有无人机被摧毁
- Scenario_DetectionDriven: 移除Skip,测试通过

测试: 243 通过 0 失败
This commit is contained in:
tian 2026-06-17 12:06:53 +08:00
parent da4e8d5c63
commit ff830c1221
2 changed files with 9 additions and 5 deletions

View File

@ -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<EquipmentDeployment>
{
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);

View File

@ -162,7 +162,7 @@ namespace CounterDrone.Core.Tests
// 场景 63 架空基编队
// ═══════════════════════════════════════════════
[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无探测设备上帝视角从航路起点算