录音管理 跳转 维度分析

This commit is contained in:
spllzh
2025-10-01 21:20:56 +08:00
parent a493ef8c20
commit 24c00c22ab
27 changed files with 396 additions and 1 deletions

View File

@@ -0,0 +1,75 @@
package com.rj.scheduler;
import com.rj.entity.AudioManagement;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import java.lang.reflect.Method;
import static org.junit.jupiter.api.Assertions.*;
/**
* AudioMockInsertDataScheduler 单元测试
* 测试 generateDailyAudioData 方法,真实插入数据库
*
* @author Test
* @since 2025-09-29
*/
@SpringJUnitConfig
@SpringBootTest
class AudioMockInsertDataSchedulerTest {
@Autowired
private AudioMockInsertDataScheduler audioMockInsertDataScheduler;
@Test
void testGenerateDailyAudioData() {
try {
// 执行真实的数据生成和插入
audioMockInsertDataScheduler.generateDailyAudioData();
// 如果执行到这里没有异常,说明方法执行成功
assertTrue(true, "generateDailyAudioData 方法执行成功");
} catch (Exception e) {
fail("generateDailyAudioData 方法执行失败: " + e.getMessage());
}
}
@Test
void testBuildMockAudioManagement() throws Exception {
// 使用反射调用私有方法测试数据生成
Method method = AudioMockInsertDataScheduler.class.getDeclaredMethod("buildMockAudioManagement");
method.setAccessible(true);
// 测试生成的数据
AudioManagement audio = (AudioManagement) method.invoke(audioMockInsertDataScheduler);
// 验证基本字段
assertNotNull(audio.getRecordingName(), "录音名称不能为空");
assertNotNull(audio.getRecordingTime(), "录音时间不能为空");
assertNotNull(audio.getSalesId(), "销售ID不能为空");
assertNotNull(audio.getSalesName(), "销售名称不能为空");
assertNotNull(audio.getDuration(), "录音时长不能为空");
assertNotNull(audio.getCustomerName(), "客户姓名不能为空");
assertNotNull(audio.getCustomerPhone(), "客户手机号不能为空");
assertNotNull(audio.getRecordingText(), "录音文本不能为空");
// 验证录音文本内容
assertTrue(audio.getRecordingText().contains("销售顾问"), "录音文本应包含销售顾问对话");
assertTrue(audio.getRecordingText().contains("客户"), "录音文本应包含客户对话");
// 验证数据格式
assertTrue(audio.getCustomerPhone().matches("^1[3-9]\\d{9}$"), "客户手机号格式应正确");
assertTrue(audio.getDuration().doubleValue() >= 5.0, "录音时长应大于等于5分钟");
assertTrue(audio.getDuration().doubleValue() <= 60.0, "录音时长应小于等于60分钟");
System.out.println("生成的录音数据:");
System.out.println("录音名称: " + audio.getRecordingName());
System.out.println("销售顾问: " + audio.getSalesName());
System.out.println("客户姓名: " + audio.getCustomerName());
System.out.println("录音文本长度: " + audio.getRecordingText().length() + " 字符");
}
}

View File

@@ -0,0 +1,38 @@
package com.rj.scheduler;
import com.rj.entity.SalesManagement;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import static org.junit.jupiter.api.Assertions.*;
/**
* SalesManagementMockInsertDataScheduler 单元测试
* 测试 generateDailySalesData 方法,真实插入数据库
*
* @author Test
* @since 2025-01-27
*/
@SpringJUnitConfig
@SpringBootTest
class SalesManagementMockInsertDataSchedulerTest {
@Autowired
private SalesManagementMockInsertDataScheduler salesManagementMockInsertDataScheduler;
@Test
void testGenerateDailySalesData() {
try {
// 执行真实的数据生成和插入
salesManagementMockInsertDataScheduler.generateDailySalesData();
} catch (Exception e) {
fail("generateDailySalesData 方法执行失败: " + e.getMessage());
}
}
}

View File

@@ -0,0 +1,33 @@
package com.rj.scheduler;
import com.rj.controller.biz.TopSalesController;
import com.rj.dto.TopSalesScoreRequestDto;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.ResponseEntity;
import java.util.Map;
/**
* TopSalesMockInsertDataScheduler 测试类
* 用于测试模拟数据生成功能
*/
@SpringBootTest
public class TopSalesMockInsertDataSchedulerTest {
@Autowired
private TopSalesMockInsertDataScheduler topSalesMockInsertDataScheduler;
@Test
public void testGenerateMockData() {
try {
topSalesMockInsertDataScheduler.generateDailyTopSalesData();
} catch (Exception e) {
System.err.println("测试失败: " + e.getMessage());
e.printStackTrace();
}
}
}