У меня есть следующее Mongo
хранилище классов в моем Spring-boot
приложении, которое называется ExpertRepository.java
:
import org.bson.types.ObjectId;
import org.springframework.data.mongodb.repository.MongoRepository;
public interface ExpertRepository extends MongoRepository<Experts, ObjectId>{
Experts findBy_id(ObjectId _id);
}
И я реализовал это Service
в моем ExpertsServiceImpl.java
классе:
@Service
@RequiredArgsConstructor
public class ExpertsServiceImpl implements ExpertsService{
private final ExpertRepository repository;
public Experts findExpertById(ObjectId id) {
Experts searchedExpert = repository.findBy_id(id);
return searchedExpert;
} }
И я реализовал также следующий тестовый класс для моего Service
:
@SpringBootTest
public class ExpertsServiceTest {
@Autowired
private ExpertRepository repository;
@Autowired
private ExpertsServiceImpl service;
Experts demoExpert = new Experts(ObjectId.get(),"Steve Jobs", "Enterpreneur",
Availability.BUSY, Language.CHINESE);
@Before
public void setUp() throws Exception{
service.deleteAll();
service.createExpert(demoExpert);
}
@After
public void tearDown() throws Exception{
service.deleteAll();
}
@Test
public void testfindExpertById(){
ObjectId id = new ObjectId(demoExpert.get_id());
Experts expert = service.findExpertById(id);
assertEquals(demoExpert.get_id(), expert.get_id());
} }
Несмотря на то, что тест не прошел и при отладке я выяснил, что мой searchedExpert
объект в методе findExpertById
класса ExpertsServiceImpl
значение Null, как показано на рисунке ниже:
![enter image description here](https://i.stack.imgur.com/piiSF.png)
Кто-нибудь понимает, почему это происходит и как Я мог бы исправить это? Я ценю любую помощь, которую вы можете оказать