Насколько обширными должны быть отрицательные юнит-тесты? - PullRequest
0 голосов
/ 10 октября 2019

Я довольно новичок в модульном тестировании и знаю, что для любого не примитивного параметра типа должен быть написан тест, в котором указанный параметр указан как нулевой. Должен ли я также включать отрицательный тест, в котором у параметра есть поле, поле которого, будучи нулевым, может повлиять на тестируемый метод и т. Д.

Например, в коде предусмотрен параметр типаВ корзине есть поле со списком CartLine с. Этот класс CartLine имеет поле типа Product, которое, если задано как null в одном из CartLines, составляющем список CartLine s, который составляет поле Cart, предоставляемое в качестве параметра, будетпроизвести NullPointerException в тестируемом методе. Должен ли я предоставить юнит-тест для этой возможности?

 public void updateProductQuantities(Cart cart){
    for (CartLine cartLine : cart.getCartLineList()) {
        Optional<Product> productOptional = productRepository.findById(cartLine.getProduct().getId());
        if (productOptional.isPresent()){
            Product product = productOptional.get();
            product.setQuantity(product.getQuantity() - cartLine.getQuantity());
            if (product.getQuantity()<1){
                productRepository.delete(product);
            }else {
                productRepository.save(product);
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...