What Is @DataJpaTestAnnotations and Spring Boot Unit Testing Repository Layer
What Is @DataJpaTestAnnotations and Spring Boot Unit Testing Repository Layer
Annotations.
All the test class we are going to keep here in test package like this:
Also add Lombok plugin in you eclipse like this:
package net.javaguides.springboot.repository;
import net.javaguides.springboot.model.Employee;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
@DataJpaTest
@Autowired
@Test
.firstName("Ramesh")
.lastName("Ramesh")
.email("ramesh@gmail,com")
.build();
Assertions.assertThat(savedEmployee).isNotNull();
Assertions.assertThat(savedEmployee.getId()).isGreaterThan(0);
}
package net.javaguides.springboot.repository;
import net.javaguides.springboot.model.Employee;
import java.util.List;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
@DataJpaTest
@Autowired
@Test
.firstName("Ramesh")
.lastName("Ramesh")
.email("ramesh@gmail,com")
.build();
assertThat(savedEmployee).isNotNull();
assertThat(savedEmployee.getId()).isGreaterThan(0);
@Test
.firstName("Ramesh")
.lastName("Ramesh")
.email("ramesh@gmail,com")
.build();
.firstName("Jhon")
.lastName("Cena")
.email("Cena@gmail,com")
.build();
employeeRepository.save(employee);
employeeRepository.save(employee1);
assertThat(emplyeeList).isNotNull();
assertThat(emplyeeList.size()).isEqualTo(2);
package net.javaguides.springboot.repository;
import net.javaguides.springboot.model.Employee;
import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository;
@Test
.firstName("Ramesh")
.lastName("Fadatare")
.email("ramesh@gmail,com")
.build();
employeeRepository.save(employee);
assertThat(employeeDB).isNotNull();
}
When we run will get the out put like this:
Unit test for update employee operation
@Test
.firstName("Ramesh")
.lastName("Fadatare")
.email("ramesh@gmail,com")
.build();
employeeRepository.save(employee);
savedEmployee.setEmail("[email protected]");
savedEmployee.setFirstName("Ram");
assertThat(updatedEmployee.getEmail()).isEqualTo("[email protected]");
assertThat(updatedEmployee.getFirstName()).isEqualTo("Ram");
And When we run the test we will get the output like this: