refactor(swap-test): 抽取 TestableSwapEodPositionService 公共基类收敛重复 Stub

- 新建 TestableSwapEodPositionService 收敛 8/8 Stub 重复的高频 override
  (PersistEodSwapPosition/SaveAllChanges/GetCurrencyRate/AddClientCash)
  + 统一 OptUserInfo 构造 + PersistedPositions/SaveChangesCount 输出捕获
- SwapEodPositionService.DealInterests 改 protected virtual(行为零变化)
- 8 个 ScenarioTest 改为继承基类,删除重复 override
- 消灭 DealInterestsScenarioTest/DealInterestsGoldenReplayTest 的反射调用
  (typeof().GetMethod().Invoke → 直接调用 DealInterests)

验证:dotnet build 0 错误;dotnet test SwapModule 284通过/6跳过/0失败
This commit is contained in:
hjhan
2026-07-23 11:16:11 +08:00
parent 63d9decd17
commit 7b007bddfa
10 changed files with 109 additions and 109 deletions
@@ -21,7 +21,7 @@ namespace YLErp.Modules.SwapModule
#region Stub
private sealed class StubService : SwapEodPositionService
private sealed class StubService : TestableSwapEodPositionService
{
// 注入的内存数据
public List<swap_flow_event> FlowEvents { get; set; } = new();
@@ -30,7 +30,7 @@ namespace YLErp.Modules.SwapModule
public List<ClientCashInCashOut> DeletedRecords { get; } = new();
public StubService() : base(new OptUserInfo(0, nameof(ClearSwapPositionsScenarioTest), OptUserFrom.UnitTest))
public StubService() : base(nameof(ClearSwapPositionsScenarioTest))
{
}