Я пытаюсь выполнить модульное тестирование методов crud из своего сервисного уровня, я написал правильный код (я думаю), но AssertTrue дает мне противоположный результат, который я ожидал. (Java.lang.AssertionError:)
Мой тестовый код выглядит следующим образом:
StudentServiceTest
@RunWith(SpringJUnit4ClassRunner.class)
@ActiveProfiles("test")
@SpringBootTest
public class StudentServiceTest {
private static final String STUDENT_NAME = "Henkie";
@Autowired
private StudentServiceImpl studentService;
@Autowired
private StudentRepository studentRepository;
@Test
public void createStudent(){
//arrange
Student student = new Student();
student.setStudentName(STUDENT_NAME);
studentService.save(student);
List<Student> students = studentService.findAll();
assertNotNull(students);
assertTrue("created a student" ,students.contains(student));
}
StudentService
public interface StudentService {
List<Student> findAll();
Student save(Student student);
Optional<Student> findById(Long id);
void deleteById(Long id);
Iterable<Student> findAllIteratable();
}
StudentServiceImpl
@Service
@RequiredArgsConstructor
public class StudentServiceImpl implements StudentService {
@Autowired
private final StudentRepository studentRepository;
public List<Student> findAll() {
return Lists.newArrayList(studentRepository.findAll());
}
public Student save(Student student) {
return studentRepository.save(student);
}
public Optional<Student> findById(Long id) {
return studentRepository.findById(id);
}
public void deleteById(Long id) {
studentRepository.deleteById(id);
}
}
StudentRepository
public interface StudentRepository extends CrudRepository<Student, Long> {
}
После отладки видно, что ученик успешно создается и также добавляется в список.Но, как видно, он сохранен в Student @ 10172, а в Списке студентов он сохранен в Student @ 10482.Все предыдущие записи в списке являются результатом предыдущих попыток тестирования.