[英]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.