Я новичок в весеннем тестировании загрузки. У меня есть ошибка, связанная с загрузкой контекста приложения, когда я пытаюсь протестировать некоторые методы из класса 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));
}
}
Полагаю, я совершил фундаментальную ошибку, любая помощь приветствуется.