Как создать модульный тест передачи значений?

#java #junit

#java #junit

Вопрос:

Я пытаюсь выполнить тестовый пример для метода передачи между учетными записями, но он выдает ошибку:

 @Before
    public void setup() throws Exception {
        origin = new Account();
        origin.setBalance(50);

        destiny = new Account();
        destiny.setBalance(0);

@Test
    public void transferring_test() throws Exception {
      
        Assertions.assertTrue(origin.getTransferring(),destiny,50);
        Assertions.assertEquals(0, origin.getBalance());
        Assertions.assertEquals(50,destiny.getBalance());
    }
  

Здесь ошибка обвинения:
Assertions.assertTrue(origin.getTransferring(),destiny,50);

Я хочу, чтобы методы assertEquals проверяли, была ли списана сумма исходного счета и зачислена сумма целевого счета.

 public void transferring(Account destiny, double value) {

        accountRepository.valueBalance(value);
        destiny.setDeposit(value);
    }
  

Комментарии:

1. В чем ошибка? Где находится вызов для выполнения передачи? Нам понадобится больше деталей (кода), чтобы помочь.

2. Я обновил вопрос.

Ответ №1:

Похоже, вы неправильно вызываете transferring метод. На нем нечего утверждать — вы должны просто вызвать его, а затем подтвердить состояния двух учетных записей:

 @Test
public void transferring_test() throws Exception {
    origin.transferring(destiny, 50); // Here!
    Assertions.assertEquals(0, origin.getBalance());
    Assertions.assertEquals(50, destiny.getBalance());
}
  

Комментарии:

1. В итоге я не упомянул об этом, но я вызываю службу. Здесь это сработало, большое вам спасибо!