У меня есть список строк в таблице и moveUpButton, он будет перемещать выбранные строки на один шаг вверх.Это работает нормально, но мне нужно написать модульный тест, используя белый ящик для этого метода.
Вот мой код:
public void registerMoveUpBut(final Button moveUpBut){
this.moveUpBut = moveUpBut;
moveUpBut.addActionListener(new ActionListener){
public void actionPerformed(ActionEvent event){
Transferevent obj = transModel.getElementAt(TransTable.getSelectedRow);
TransferObj transferObj = new TransferObj(obj);
transferObj.setEventType(TransferTypeEnum.UP);
transferObj.setEventNum(obj.getEventNum()-1)
}
}
}
Модульный тест, который у меня пока есть,
@Test
public void testMoveUpBut(){
Controller Con = mock(Controller.class)
JButton moveUpBut = Whitebox.getInternalState(Con, "moveUpBut");
//here i want to use something like addListener so that it will pass through my
//method and use ArgumentCaptor to verify whether it's population the data or
//not. Can you pls help with that, Thank you!
moveUpBut.addActionerListener() //something like this
ArgumentCaptor<Controller>argument = ArgumentCaptor.forClass(Controller.class);
verify().doSomething(argumentCapture));
}