In this tutorial, we will write a JUnit test to use the assertNull() method with a message.
assertNull() method checks the object null.
Let's first create Book, BookService classes, and then we will write JUnit test cases to use the assertNull() method.
Create Book Class
package junit5.bookstore.model;
public class Book {
private String bookId;
private String title;
private String publisher;
public Book(String bookId, String title, String publisher) {
this.bookId = bookId;
this.title = title;
this.publisher = publisher;
}
public String getBookId() {
return bookId;
}
public void setBookId(String bookId) {
this.bookId = bookId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
}
Create BookService Class
package junit5.bookstore.service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import junit5.bookstore.model.Book;
public class BookService {
private List<Book> listOfBooks = new ArrayList<>();
public void addBook(Book book) {
listOfBooks.add(book);
}
public List<Book> books(){
return Collections.unmodifiableList(listOfBooks);
}
public Book getBookById(String bookId) {
for(Book book : listOfBooks) {
if(bookId.equals(book.getBookId())) {
return book;
}
}
return null;
}
public String[] getBookIdsByPublisher(String publisher) {
List<String> bookIds = new ArrayList<>();
for(Book book : listOfBooks) {
if(publisher.equals(book.getPublisher())) {
bookIds.add(book.getBookId());
}
}
return bookIds.toArray(new String[bookIds.size()]);
}
public List<String> getBookTitlesByPublisher(String publisher) {
List<String> bookTitles = new ArrayList<>();
for(Book book : listOfBooks) {
if(publisher.equals(book.getPublisher())) {
bookTitles.add(book.getTitle());
}
}
return bookTitles;
}
}
Write JUnit test to use assertNull() method with message
The below Java program demonstrates the usage of all overloaded assertNull() static method with message:
import static org.junit.jupiter.api.Assertions.assertNull;
import org.junit.jupiter.api.Test;
import junit5.bookstore.model.Book;
import junit5.bookstore.service.BookService;
public class AssertNullDemo {
@Test
public void assertNullWithMessage() {
BookService bookService = new BookService();
Book headFirstJavaBook = new Book("1", "Head First Java", "Wrox");
Book headFirstDesignPatternBook = new Book("2", "Head First Design Pattern", "Packt");
bookService.addBook(headFirstJavaBook);
bookService.addBook(headFirstDesignPatternBook);
Book actualBook = bookService.getBookById("4");
assertNull(actualBook, "Book is not null !");
}
@Test
public void assertNullWithMessageSupplier() {
BookService bookService = new BookService();
Book headFirstJavaBook = new Book("1", "Head First Java", "Wrox");
Book headFirstDesignPatternBook = new Book("2", "Head First Design Pattern", "Packt");
bookService.addBook(headFirstJavaBook);
bookService.addBook(headFirstDesignPatternBook);
Book actualBook = bookService.getBookById("4");
assertNull(actualBook, () -> "Book is not null !");
}
}
Run JUnit test Class
Run the JUnit test class to execute all the JUnit test cases and here is the output:
Reference
Comments
Post a Comment
Leave Comment