• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

테스트 질문드립니다.

19.09.20 11:53 작성 조회수 89

0

@Autowired
DeviceCodeRepository deviceCodeRepository;

public Dto(String deviceName, String year, Double rate) {

    this.deviceName = deviceName;

    this.year = year;

    this.rate = rate;

    this.deviceCode = settingDeviceCode(deviceName);

}

public DeviceCode settingDeviceCode(String deviceName){

    Optional<DeviceCode> deviceCode = deviceCodeRepository.findByDeviceName(deviceName);

    return deviceCode.orElse(new DeviceCode());

devicename을 가지고 device 객체를 가져와서 주입하려고 하는데

테스트코드에서 Dto생성자를 생성하면 

deviceCodeRepository이 주입이 안되어서 계속 nullpoint가 납니다.

어떻게 테스트 코드를 작성해야 할까요?

답변 5

·

답변을 작성해보세요.

1

빈은 빈에만 주입할 수 있습니다. 저 코드가 들어있는 클래스가 빈으로 등록이 되는 클래스 인가요? 스프링 핵심 기술이라는 강좌부터 수강하시는게 좋을거 같습니다.

0

kim님의 프로필

kim

질문자

2019.09.20

원인찾아냈고, 해결하였습니다.

0

제 대답은 변하지 않습니다. 스프링 부트 말고 빈 등록하고 주입 받는 방법부터 학습하세요.

0

kim님의 프로필

kim

질문자

2019.09.20

@component로 등록했는데도 여전히 같은 nullpoint가 됩니다

repository를 주입을 받지 못합니다 ㅠㅠ

0

kim님의 프로필

kim

질문자

2019.09.20

아 dto라서 빈으로 등록을 안했는데 그냥 화면으로 리턴만 해줄 객체인데 그럼 위에 component를 붙이거나 @configuration + @Bean으로 하면 되나요?

답변 항상 감사드립니다