У меня есть требование покрыть тестами весь мой личный проект. Пытаясь охватить хотя бы одну службу в своем проекте, я столкнулся с проблемой: запуск теста в режиме отладки проходит нормально, но запуск с другими тестами или отдельно приводит к сбою.
Код, который я пытаюсь проверить:
List ticketDTOs = ticketDTOMapper.allToDTOs(users, tickets);
В этой строке метода моего сервиса я пытаюсь сопоставить объекты билетов с DTO, используя свой собственный преобразователь. Ничего особенного, он просто перебирает заявки и создает DTO, заменяя некоторые числовые поля соответствующими пользовательскими данными. При тестировании вручную работает нормально, так что проблема определенно не в логике картографа.
Но при попытке запустить TicketDTO выглядит как пустой список, хотя все данные до этого это правильно и соответствует всему, что я инициализировал в своем тестовом методе.
В режиме отладки все работает нормально - TicketDTOs соответствует списку, который у меня есть внутри тестового метода.
У меня есть требование покрыть тестами весь мой личный проект. Пытаясь охватить хотя бы одну службу в своем проекте, я столкнулся с проблемой: запуск теста в режиме отладки проходит нормально, но запуск с другими тестами или отдельно приводит к сбою. Код, который я пытаюсь проверить: [code]@Service @RequiredArgsConstructor public class TicketService {
private final TicketRepository ticketRepository; private final TicketServiceClient ticketSC; private final TicketDTOMapper ticketDTOMapper;
UserInfoDTO getUserInfoFromContext(){ JwtAuthenticationToken token = (JwtAuthenticationToken) SecurityContextHolder.getContext().getAuthentication(); String email = token.getTokenAttributes().get("email").toString(); String role = token.getToken().getClaimAsStringList("spring_sec_roles").stream() .filter(r -> r.startsWith("ROLE_")) .findFirst() .orElse(null); String name = token.getTokenAttributes().get("preferred_username").toString(); Integer id = ticketSC.getUserID(email); return new UserInfoDTO(id, role, email, name); }
public ResponseEntity getAllowedTickets() throws InterruptedException { UserInfoDTO userInfo = getUserInfoFromContext(); List tickets; switch (userInfo.role()) { case "ROLE_EMPLOYEE" -> tickets = ticketRepository.getAllTicketsForEmployee(userInfo.id()); case "ROLE_MANAGER" -> { List employeeIDs = ticketSC.getAllEmployeeIDs(); tickets = ticketRepository.getAllTicketsForManager(userInfo.id(), employeeIDs); } case "ROLE_ENGINEER" -> { List employeeAndManagerIDs = ticketSC.getAllEmployeeAndManagerIDs(); tickets = ticketRepository.getAllTicketsForEngineer(userInfo.id(), employeeAndManagerIDs); } default -> throw new IllegalStateException("Unexpected value: " + userInfo.role()); }
assertEquals(ResponseEntity.ok().body(ticketDTOs), response); verify(ticketDTOMapper).allToDTOs(users, tickets); verify(ticketRepository).getAllTicketsForEmployee(1); verify(ticketSC).getUserInfoDTOs(uniqueIDs); } [/code] Неверный метод тестирования: [code]@Test public void testGetAllowedTicketsForEmployee() throws InterruptedException { [/code] Конкретно проблема начинается здесь: [code]List ticketDTOs = ticketDTOMapper.allToDTOs(users, tickets); [/code] В этой строке метода моего сервиса я пытаюсь сопоставить объекты билетов с DTO, используя свой собственный преобразователь. Ничего особенного, он просто перебирает заявки и создает DTO, заменяя некоторые числовые поля соответствующими пользовательскими данными. При тестировании вручную работает нормально, так что проблема определенно не в логике картографа. Но при попытке запустить TicketDTO выглядит как пустой список, хотя все данные до этого это правильно и соответствует всему, что я инициализировал в своем тестовом методе. В режиме отладки все работает нормально - TicketDTOs соответствует списку, который у меня есть внутри тестового метода.
Я столкнулся со странной проблемой при выполнении модульных тестов, связанных с пользовательским интерфейсом на основе Qt. Все мои тесты отлично работают в режиме «Выполнить», но как только я перехожу в режим «Отладка» и устанавливаю точку останова...
Сейчас я работаю над школьным заданием и с трудом справляюсь с тестированием. По какой-то причине модульные тесты работают нормально при индивидуальном запуске, но не при совместном запуске. Я знаю, что это как-то связано с тем, что я делюсь...
У меня есть три теста JUnit, которые показаны ниже. Все эти тесты завершаются успешно, если они выполняются индивидуально, т. е. закомментируют два других теста и выполняют только один.
Однако, если я выполню все три теста без комментариев, то...
Я сделал класс, у него есть конструктор копирования и оператор = , которые, по -видимому, работают. У меня есть GTEST, которые показывают эти работы. Затем я добавил еще один конструктор, но тесты не сбои, когда я назначаю значение непосредственно...
Я потратил дни, пытаясь выяснить, почему это происходит, но я не могу найти проблему. Может ли кто -нибудь помочь мне, пожалуйста? В трубопроводе я получаю следующую ошибку целостности:...