[英]Unit Testing a REST handler class in Java
我正在嘗試為下面的課程編寫測試用例,這給了我各種不同嘗試的各種異常。 任何人都可以建議我如何編寫可以為我提供良好覆蓋面的測試類
我正在測試的班級是-
@RestController
@RefreshScope
public class BookResource {
private final AtomicLong counter = new AtomicLong();
@Autowired
Environment environment;
private Logger logger = MyLoggerFactory.getLogger(getClass());
@Autowired
private BookRepository bookRepository;
@Value("${magazine.costPerBook:100}")
private String costPerTon;
@PostMapping( value= "v1/books",produces = MediaType.APPLICATION_JSON_VALUE,consumes = MediaType.APPLICATION_JSON_VALUE)
public Book createBook(@RequestBody Book book){
logger.info("received request to create a book. Current Market rate is {}",costPerBook);
bookRepository.save(book);
return book;
}
@GetMapping(value= "v1/books/{id}" , produces = MediaType.APPLICATION_JSON_VALUE)
public Book getBook(@PathVariable long id){
logger.info("Received request to read book {}", id);
Book book = bookRepository.findById(id);
return book;
}
@GetMapping(value= "v1/books" , produces = MediaType.APPLICATION_JSON_VALUE)
public Books getBooks(){
logger.info("Received request to read all books {}",costPerBook);
if (bookRepository.count() == 0 ){
logger.info("No objects found , adding sample objects for demonstration");
List<Book> books = new ArrayList<Book>();
books.add(new Book("atlantis"));
bookRepository.saveAll(books);
}
// Retrieve from repository
Iterable<Book> booksIterator = bookRepository.findAll();
Books books = new Books();
books.setBooks(booksIterator);
return books;
}
}
我正在嘗試為下面的課程編寫測試用例,這給了我各種不同嘗試的各種異常。 任何人都可以建議我如何編寫可以為我提供良好覆蓋面的測試類
我正在測試的班級是-
@RestController
@RefreshScope
public class BookResource {
private final AtomicLong counter = new AtomicLong();
@Autowired
Environment environment;
private Logger logger = MyLoggerFactory.getLogger(getClass());
@Autowired
private BookRepository bookRepository;
@Value("${magazine.costPerBook:100}")
private String costPerTon;
@PostMapping( value= "v1/books",produces = MediaType.APPLICATION_JSON_VALUE,consumes = MediaType.APPLICATION_JSON_VALUE)
public Book createBook(@RequestBody Book book){
logger.info("received request to create a book. Current Market rate is {}",costPerBook);
bookRepository.save(book);
return book;
}
@GetMapping(value= "v1/books/{id}" , produces = MediaType.APPLICATION_JSON_VALUE)
public Book getBook(@PathVariable long id){
logger.info("Received request to read book {}", id);
Book book = bookRepository.findById(id);
return book;
}
@GetMapping(value= "v1/books" , produces = MediaType.APPLICATION_JSON_VALUE)
public Books getBooks(){
logger.info("Received request to read all books {}",costPerBook);
if (bookRepository.count() == 0 ){
logger.info("No objects found , adding sample objects for demonstration");
List<Book> books = new ArrayList<Book>();
books.add(new Book("atlantis"));
bookRepository.saveAll(books);
}
// Retrieve from repository
Iterable<Book> booksIterator = bookRepository.findAll();
Books books = new Books();
books.setBooks(booksIterator);
return books;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.