Como testar uma classe com métodos privados, campos e classes internas em Java?
Olá a todos! Sou um desenvolvedor Java iniciante e tive um problema ao escrever testes unitários. No meu projeto, há uma classe `OrderProcessor` que contém métodos privados, campos e até uma classe interna. Quando tento escrever testes para ela usando JUnit, não consigo acessar esses elementos. Aqui está um exemplo simplificado da minha classe:
```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