Проблеми с Тестове
Closed this issue · 4 comments
Привет, привет!
Имам проблеми с интегрирането на тестовата база данни, поради някаква причина си пречи с нещата, които CommandLineRunner-а инициализира при стартиране и работи само ако са закоментирани. Голяма част от тестовете ми дават следната грешка и не мога да разбера къде бъркам
https://github.com/TeoKarakashev/Softuni-Spring-Web-Project
Бонджорно! Ако се вгледаме по-подробно в ексепшъна:
Caused by: org.springframework.dao.IncorrectResultSizeDataAccessException: query did not return a unique result: 4; nested exception is javax.persistence.NonUniqueResultException: query did not return a unique result: 4
at com.softuni.service.impl.BrandServiceImpl.findByName(BrandServiceImpl.java:56)
at com.softuni.service.impl.BatServiceImpl.save(BatServiceImpl.java:89)
Гърми тук:
@Repository
public interface BrandRepository extends JpaRepository<BrandEntity, String> {
Optional<BrandEntity> findByName(String name);
}
Което означава, че в следствие на тестовете си вкарал в ДБ два бранда с еднакво име. Ако името на бранда е уникално, направи колонката уникална. Така ще гръмваш много по-близо до грешката.
След всеки тест почиствай ДБ-то от останалите ентитита, защото освен ако не ползваш @DirtiesContext всичко си остава в ДБ между изпълненията. В общи линии, добра практика е:
@BeforeEach
- initialized data- execute test
@AfterEach
- clean up
Поздрави!
Коничи уа! Много благодаря, Лъчо и много съжалявам, че те притеснявам пак, но сега си имплементирах интерсептор за page title и не мога да го подкарам да рарботи, добавих <title> в хедъра, но не иска да го захапе.
Гита си е същия: https://github.com/TeoKarakashev/Softuni-Spring-Web-Project
Проблемът е от браузъра, на другия работи, най-вероятно някаква настройка съм пипал, благодаря ти много!
Бързо оздравяване!