开发记录(第十九天)

第十九天:
开发C表格的服务层类,封装业务逻辑,并提供给控制器层调用。
进行服务层与DAO层的集成测试,确保服务层方法能够正确调用DAO层方法,并处理异常和边界情况。
// CTableService.java
public class CTableService {
private CTableDAO cTableDAO;

public CTableService(CTableDAO cTableDAO) {
    this.cTableDAO = cTableDAO;
}

// 封装业务逻辑,提供添加记录的服务方法
public void addCTableRecord(CTableRecord record) {
    // 可以在这里添加业务逻辑,如数据验证、日志记录等
    cTableDAO.insertRecord(record);
}

// 封装业务逻辑,提供根据条件筛选记录的服务方法
public List<CTableRecord> getCTableRecordsByCondition(String condition) {
    // 可以在这里添加业务逻辑,如条件格式化、缓存处理等
    return cTableDAO.queryRecordsByCondition(condition);
}

// 其他服务方法...

}

// CTableServiceTest.java
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import org.mockito.Mockito;

public class CTableServiceTest {
private CTableService cTableService;
private CTableDAO cTableDAO;

@BeforeEach
public void setUp() {
    // 使用Mockito创建CTableDAO的模拟对象
    cTableDAO = Mockito.mock(CTableDAO.class);
    cTableService = new CTableService(cTableDAO);
}

@Test
public void testAddCTableRecord() {
    CTableRecord record = new CTableRecord();
    record.setColumnA("TestA");
    record.setColumnB(789);

    // 模拟DAO层行为
    Mockito.doNothing().when(cTableDAO).insertRecord(record);

    // 调用服务层方法
    cTableService.addCTableRecord(record);

    // 验证DAO层方法是否被调用
    Mockito.verify(cTableDAO).insertRecord(record);
}

@Test
public void testGetCTableRecordsByCondition() {
    List<CTableRecord> mockRecords = new ArrayList<>();
    CTableRecord record = new CTableRecord();
    record.setColumnA("TestCondition");
    record.setColumnB(101);
    mockRecords.add(record);

    // 模拟DAO层行为
    Mockito.when(cTableDAO.queryRecordsByCondition("ColumnA = 'TestCondition'")).thenReturn(mockRecords);

    // 调用服务层方法
    List<CTableRecord> results = cTableService.getCTableRecordsByCondition("ColumnA = 'TestCondition'");

    // 验证结果
    assertNotNull(results);
    assertEquals(1, results.size());
    assertEquals("TestCondition", results.get(0).getColumnA
posted @ 2025-02-20 18:22  一只虎鲸  阅读(9)  评论(0)    收藏  举报