Ich mache Komponententest für meine Spring Boot-Anwendung mit Camel. Wenn die Anwendung ausgeführt wird, kann es Bean erhalten, die als @ComponentKann nicht erhalten @ Komponent als Bean In Einheit Test für Spring Boot-Anwendung mit Apache Camel
@Component("agencyExporterProcessor")
public class AgencyExporterProcessor {}
konfiguriert ist, und ich bekomme die Bohne wie folgt aus:
from(getTriggerExportEndpoint())
.routeId(getTriggerExportId())
// When shutting down, Camel will wait until the batch completed
.shutdownRunningTask(ShutdownRunningTask.CompleteAllTasks)
.log("[SamCustomExporter] - RouteId:${routeId} - Begin at ${date:now:MM/dd/yyyy HH:mm:ss.SSS}")
.setHeader(Messaging.Names.SAM_DATA_AGENCY_CONFIGURATION_HEADER_KEY.toString(), constant(getConfiguration()))
// Initialize a list to store exported CSV file names
.bean(agencyExporterProcessor, "prepareExportedFileList")
Aber wenn ich zu testen, kann die Route die Bohne nicht“bekommen
org.apache.camel.FailedToCreateRouteException: Failed to create route agencyExporterRoute_triggerExport at: >>> Bean[ref:agencyExporterProcessor method:prepareExportedFileList] <<< in route: Route(agencyExporterRoute_triggerExport)[[From[direct:agency... because of No bean could be found in the registry for: agencyExporterProcessor
Dies ist, wie ich meine Unit-Test-Klasse konfiguriert:
@DirtiesContext
@RunWith(SpringRunner.class)
@EnableAutoConfiguration
@SpringBootApplication
@SpringBootTest(classes = SamCustomExporterSpringApplication.class,
webEnvironment = SpringBootTest.WebEnvironment.NONE)
public class AgencyExporterRouteTest extends BaseRouteTestSupport {}
Bitte geben Sie Rat !!!! Vielen Dank
Leider dies mein Fehler ist, wenn ich den Code kopiert. Ja, ich mochte dich schon, Mr. Ibsen. Aber es hat immer noch diesen Fehler –
Basispaket sollte für die Komponente Scan identisch sein. Wie lautet der Package-Speicherort für beide Klassen? – priyas