Series: Learn About Unit Test in Java Spring Boot (4 parts)
- Overview Testing. (part 1) ⇒ xem lại tài liệu của thầy Hào.
- What is Unit Test? (part 2)
- Junit5 for Unit Test in Java Spring Boot. (part 3)
- Implement Category Service Test with Junit5. (part 4)
- Quick note
- Reference
@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
public class DeleteFromRepositoryUnitTest {
@Autowired
private BookRepository bookRepository;
@Autowired
private CategoryRepository categoryRepository;
Book book1;
Book book2;
List<Book> books;
@PostConstruct
public void initData() {
Category category1 = new Category(1L, "anthology");
categoryRepository.save(category1);
Category category2 = new Category(2L, "comedy");
categoryRepository.save(category2);
book1 = new Book(1L, "The Hobbit", category1);
book2 = new Book(2L, "Glory", category2);
books = new ArrayList<>();
books.add(book1);
books.add(book2);
bookRepository.saveAll(books);
}
@Test
public void whenDeleteByIdFromRepository_thenDeletingShouldBeSuccessful() {
bookRepository.deleteById(book1.getId());
assertThat(bookRepository.count()).isEqualTo(1);
}
@Test
public void whenDeleteAllFromRepository_thenRepositoryShouldBeEmpty() {
bookRepository.deleteAll();
assertThat(bookRepository.count()).isEqualTo(0);
}
Embedded PostgreSQL for Spring Boot Tests | Baeldung
11. Testing
Best Practices for Unit Testing in Java | Baeldung