test(shop-data-crawl): 修复 ShopDataCrawlTaskServiceRetentionTest 因构造依赖漏 mock 导致的 NPE——Task 35 给 ShopDataCrawlTaskService 新增了 shopDataCrawlItemStoreService(行级明细落库)与 TaskProgressLightAssembler 两个构造依赖,而本测试的 @Mock 列表未同步更新;@InjectMocks 走构造注入时没有对应 @Mock 的构造参数会被传 null,于是 assembleDailyWorkbook 里的 saveShopBatchFromSnapshot 调用直接 NPE(11 用例 2 失败 5 错误,表现含'期望 IllegalStateException 实为 NullPointerException')。补两个 @Mock 后 11/11 通过,相关模块 310 用例全绿
This commit is contained in:
+8
@@ -19,6 +19,7 @@ import com.nanri.aiimage.modules.task.model.entity.TaskFileJobEntity;
|
||||
import com.nanri.aiimage.modules.task.model.entity.TaskScopeStateEntity;
|
||||
import com.nanri.aiimage.modules.task.service.TaskDistributedLockService;
|
||||
import com.nanri.aiimage.modules.task.service.TaskFileJobService;
|
||||
import com.nanri.aiimage.modules.task.service.TaskProgressLightAssembler;
|
||||
import com.nanri.aiimage.modules.task.service.TaskProgressSnapshotService;
|
||||
import com.nanri.aiimage.modules.task.service.TaskResultItemService;
|
||||
import com.nanri.aiimage.modules.task.service.TransientPayloadStorageService;
|
||||
@@ -97,6 +98,13 @@ class ShopDataCrawlTaskServiceRetentionTest {
|
||||
@Mock private TransientPayloadStorageService transientPayloadStorageService;
|
||||
@Mock private InstanceMetadata instanceMetadata;
|
||||
@Mock private ShopDataCrawlDailyFileService dailyFileService;
|
||||
/**
|
||||
* Task 35 起 ShopDataCrawlTaskService 构造依赖新增了行级明细落库与轻量进度组装。
|
||||
* @InjectMocks 走构造注入时,构造参数里没有对应 @Mock 的会被传 null ——
|
||||
* 漏掉这里会让 assembleDailyWorkbook 的 saveShopBatchFromSnapshot 直接 NPE。
|
||||
*/
|
||||
@Mock private ShopDataCrawlItemStoreService shopDataCrawlItemStoreService;
|
||||
@Mock private TaskProgressLightAssembler taskProgressLightAssembler;
|
||||
@Mock private PlatformTransactionManager transactionManager;
|
||||
@Mock private TransactionStatus transactionStatus;
|
||||
@Spy private final ObjectMapper objectMapper = new ObjectMapper().findAndRegisterModules();
|
||||
|
||||
Reference in New Issue
Block a user