¿Cómo probar una clase con métodos privados, campos y clases internas en Java?
¡Hola a todos! Soy un desarrollador Java principiante y tengo un problema al escribir pruebas unitarias. En mi proyecto hay una clase `OrderProcessor` que contiene métodos privados, campos e incluso una clase interna. Cuando intento escribir pruebas para ella usando JUnit, no puedo acceder a estos elementos. Aquí hay un ejemplo simplificado de mi clase:
```java
public class OrderProcessor {
private List orders = new ArrayList<>();
private static final double TAX_RATE = 0.2;
public double processOrder(Order order) {
validateOrder(order);
double total = calculateTotal(order);
orders.add(order);
return total;
}
private void validateOrder(Order order) {
if (order == null || order.getItems().isEmpty()) {
throw new IllegalArgumentException("Invalid order");
}
}
private double calculateTotal(Order order) {
double subtotal = order.getItems().stream()
.mapTo