录音管理 跳转 维度分析
This commit is contained in:
@@ -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() + " 字符");
|
||||
}
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user