Testing Spring Data JPA Repository Operations in springboot-labs
This test suite evaluates Spring Data JPA repository functionality with a focus on user data querying and pagination. It validates custom finder methods and temporal query operations using Spring Boot’s testing framework and JUnit.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
yudaocode/springboot-labs
lab-13-spring-data-jpa/lab-13-jpa/src/test/java/cn/iocoder/springboot/lab13/jpa/repository/UserRepository03Test.java
package cn.iocoder.springboot.lab13.jpa.repository;
import cn.iocoder.springboot.lab13.jpa.dataobject.UserDO;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.Calendar;
import java.util.Date;
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserRepository03Test {
@Autowired
private UserRepository03 userRepository;
@Test
public void testFindByUsername() {
UserDO user = userRepository.findByUsername("yunai");
System.out.println(user);
}
@Test
public void testFindByCreateTimeAfter() {
// 创建分页条件
Pageable pageable = PageRequest.of(1, 10);
// 执行分页操作
Date createTime = new Date(2018 - 1990, Calendar.FEBRUARY, 24); // 临时 Demo ,实际不建议这么写
Page<UserDO> page = userRepository.findByCreateTimeAfter(createTime, pageable);
// 打印
System.out.println(page.getTotalElements());
System.out.println(page.getTotalPages());
}
}