如何测试包含私有方法、字段和内部类的Java类?
大家好!我是一名初级Java开发者,在编写单元测试时遇到了一个问题。我的项目中有一个`OrderProcessor`类,它包含私有方法、字段甚至一个内部类。当我尝试使用JUnit为其编写测试时,无法访问这些元素。以下是我类的简化示例:
```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()
.mapToDouble(Item::getPrice)