Mockito - NullpointerException ao stubbing Método

Então comecei a escrever testes para o nosso projeto Java-Spring.

O que eu uso é JUnit e Mockito. Dizem que quando eu uso a opção when () ... thenReturn () eu posso zombar de serviços, sem simulá-los ou algo parecido. Então, o que eu quero fazer é definir:

when(classIwantToTest.object.get().methodWhichReturnsAList(input))thenReturn(ListcreatedInsideTheTestClass)  

Mas, independentemente da cláusula when, sempre recebo uma NullpointerException, o que, obviamente, faz sentido, porque a entrada é nula.

Além disso, quando tento zombar de outro método de um objeto:

when(object.method()).thenReturn(true)

Também recebo um Nullpointer, porque o método precisa de uma variável que não está definida.

Mas eu quero usar when () .. thenReturn () para contornar a criação dessa variável e assim por diante. Eu só quero ter certeza de que, se alguma classe chamar esse método, não importa o quê, retorne true ou a lista acima.

É basicamente um mal-entendido do meu lado, ou há algo mais errado?

Código:

public class classIWantToTest implements classIWantToTestFacade{
        @Autowired
        private SomeService myService;

        @Override
        public Optional<OutputData> getInformations(final InputData inputData) {
            final Optional<OutputData> data = myService.getListWithData(inputData);
            if (data.isPresent()) {
                final List<ItemData> allData = data.get().getItemDatas();
                    //do something with the data and allData
                return data;
            }

            return Optional.absent();
        }   
}

E aqui está a minha aula de teste:

public class Test {

    private InputData inputdata;

    private ClassUnderTest classUnderTest;

    final List<ItemData> allData = new ArrayList<ItemData>();

    @Mock
    private DeliveryItemData item1;

    @Mock
    private DeliveryItemData item2;



    @Mock
    private SomeService myService;


    @Before
    public void setUp() throws Exception {
        classUnderTest = new ClassUnderTest();
        myService = mock(myService.class); 
        classUnderTest.setService(myService);
        item1 = mock(DeliveryItemData.class);
        item2 = mock(DeliveryItemData.class);

    }


    @Test
    public void test_sort() {
        createData();
        when(myService.getListWithData(inputdata).get().getItemDatas());

        when(item1.hasSomething()).thenReturn(true);
        when(item2.hasSomething()).thenReturn(false);

    }

    public void createData() {
        item1.setSomeValue("val");
        item2.setSomeOtherValue("test");

        item2.setSomeValue("val");
        item2.setSomeOtherValue("value");

        allData.add(item1);
        allData.add(item2);


}

questionAnswers(11)

yourAnswerToTheQuestion