避免多个Not null语句

时间:2015-12-11 13:04:00

标签: java junit refactoring

我有一个Converter-Class,我将一个对象转换为另一个对象。我有多个if语句,检查值是否为null。现在当单元测试当然意味着,我需要测试每个if条件,即使它非常简单。这是一个简化的例子:

public OutputData convert(InputData input){
    final OutputData output = new OutputData();

    output.setName(input.getName());
    output.setCity(input.getCity());
    if(isNotEmpty(input.getObjects())){
        output.setMainObject(input.getObjects().get(0));
    }

    if(input.getType() != null){
        output.setType(input.getType());
    }

    if(input.getID() != null){
        output.setId(input.getID());
    }

    return output;
}

现在请记住,在我的真实项目中还有4到5个。那么什么是避免它或确保它更容易测试的方法呢?

1 个答案:

答案 0 :(得分:0)

你可以使用Optional,但就像@Seelenvirtuose所说的那样,除非你避免覆盖一些默认值,否则你的空检查会阻止设置一个已经为空的值。

https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html

http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html