Различные ссылки на объекты ссылаются на один и тот же объект во время тестирования хранилища - Spring Boot - PullRequest
0 голосов
/ 29 апреля 2020

Я новичок в тестировании и пытаюсь протестировать репозиторий моего проекта. При попытке протестировать мой интерфейс репозитория, который расширяет JpaRepository , когда я создаю разные объекты одного и того же класса сущности, они все ссылаются на один и тот же объект (не уверен в этом, просто замечание).

Вот метод теста:

@Test
    public void testFindByIdCustomer() throws InterruptedException {
        CustomerDetails customer = getCustomer();
        CustomerDetails savedCustomer = walletRepository.save(customer);
        CustomerDetails retrivedCustomer = new CustomerDetails(); 
        retrievedCustomer = walletRepository.findById(savedCustomer.getAccountId()).get();
        System.out.println("Saved Customer's balance:\n" + savedCustomer.getBalance());
        System.out.println("Retrieved Customer's balance right after saved:\n" + retrievedCustomer.getBalance());
        savedCustomer.setBalance(100);
        System.out.println("Saved Customer's balance when edited:\n" + savedCustomer.getBalance());
        System.out.println("Retrived Customer's balance with no change:\n" + retrievedCustomer.getBalance());
        assertThat(savedCustomer).isEqualToComparingFieldByField(retrievedCustomer);
    }

Тест успешно пройден (чего не следует), и это то, что выводится на консоль.

Saved Customer's balance:
0.0
Retrieved Customer's balance right after saved:
0.0
Saved Customer's balance when edited:
100.0
Retrieved Customer's balance with no change:
100.0

Этого не ожидается. Полученный баланс Клиента не должен изменяться. В чем может быть проблема и как ее решить?

Все остальное работает нормально. Также этого не происходит при написании java методов приложения.

...