Как написать модульный тест для кнопки с помощью белого поля? - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть список строк в таблице и 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));
}
...