Avatar ·

How to test classes with private methods, fields, and inner classes in Java?

Hello everyone. I'm new to Java and unit testing, using JUnit 5. I have a class `OrderProcessor` that contains private methods, private fields, and an inner class. I don't understand how to write tests for it properly. Here's an example of my class: ```java public class OrderProcessor { private final PaymentGateway gateway; private List items = new ArrayList<>(); public OrderProcessor(PaymentGateway gateway) { this.gateway = gateway; } public boolean processOrder(Order order) { if (!validateOrder(order)) { return false; } double total = calculateTotal(order); return gateway.charge(order.getCustomer(), total); } private boolean validateOrder(Order order) { return ```