Проблема весеннего тестирования загрузки с @Autowire - PullRequest
1 голос
/ 27 мая 2019

Я новичок в весеннем тестировании загрузки. У меня есть ошибка, связанная с загрузкой контекста приложения, когда я пытаюсь протестировать некоторые методы из класса AwsTestsExtractor ниже.

Сообщение об ошибке:

Поле awsTestsExtractor в com.silvio.me. Для прототипа требуется bean-компонент введите 'com.silvio.me.AwsTestsExtractor', который не найден.

Точка впрыска имеет следующие аннотации: - @ org.springframework.beans.factory.annotation.Autowired (обязательно = true)

Действие:

Рассмотрите возможность определения компонента типа com.silvio.me.AwsTestsExtractor в ваша конфигурация.

Код:

@Component
public class AwsTestsExtractor extends TestsExtractor {

     @Autowired
     private ExaminationRepository examinationRepository;

     public AwsTestsExtractor() { }
     ...
     ...

    private String getTestDbRef(String description) {
        ArrayList<Examination> strArr = new ArrayList<>(examinationRepository.customQuery(description));
        if(strArr.size() > 0)
            return strArr.get(0).getName();
        else
            return null;
    }

}

@SpringBootApplication
public class Prototype implements CommandLineRunner {

    @Autowired
    private AwsTestsExtractor awsTestsExtractor;

    public static void main(String[] args) {
        SpringApplication.run(Prototype.class, args);
    }

    @Override
    public void run(String... args) throws Exception {


        String document="src/main/resources/test2.jpg";
        awsTestsExtractor.extract(document);

        }
        catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
    }
}

@RunWith(SpringRunner.class)
@TestPropertySource(locations = "classpath:application-integrationtest.properties")
@DataMongoTest

public class AwsTestsExtractorTest {
    @Autowired
    private MongoTemplate mongoTemplate;
    @Autowired
    private AwsTestsExtractor awsTestsExtractor;

    @Before
    public void setUp() {
        mongoTemplate.save(new Examination("terefere"));
    }

    @Test
    public void getTestDbRefTest() {
        assertTrue(ReflectionTestUtils.invokeMethod(awsTestsExtractor, "getTestDbRef","terefere" ).equals(true));
    }
}

Полагаю, я совершил фундаментальную ошибку, любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...