Одна вещь, которую я заметил здесь, это то, что вы используете аннотацию @Mock
, чтобы попытаться смоделировать окончательную переменную класса, которая обычно не будет работать, если у вас нет конструктора где-нибудь.
, например
public class DataAccess{
private final Mapper mapper;
DataAccess(mapper){
this.mapper = mapper
// anything else
}
}
Используя mockito, вы можете сделать что-то вроде этого:
public class TestClass{
private DataAccess dataAccess = new DataAccess(Mockito.mock(Mapper.class));
}
Кроме того, я обычно создаю экземпляр Logger, когда вы объявляете его;
private final Logger LOGGER = LoggerFactory.getLogger(getClass());