1

I have an Spring Boot Application with Multiple Camel Routes and I am in the process of testing these routes individually and also some of these routes contains components that are not accessible locally. So I need to mock these Endpoints so they can be tested locally.

But the MockEndpoints defined @EndpointInject("mock:direct:route1-part2") doesn't start nor do they consume any messages which results in the following error log.

Caused by: org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers available on endpoint: direct://route1-part2. Exchange[2CFDECFAA02305C-0000000000000000] 

I've tried adding

directPart2MockEndpoint = camelContext.getEndpoint("mock:direct:route1-part2",MockEndpoint.class);

also

directPart2MockEndpoint.start();

It still resulted in the same outcome.

Expected result is the mock endpoint to start and consume messages recieved at direct://route1-part2 and the assertion directPart2MockEndpoint.assertIsSatisfied(); to complete.

Given below is a sample (not the exact route) for the route I created.

package com.missakai.samplecameltesting.camel;

import lombok.extern.slf4j.Slf4j;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.model.dataformat.JsonLibrary;
import org.springframework.stereotype.Component;

@Component
@Slf4j
public class Route1Part1 extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        from("direct:route1-part1")
                .routeId("route1-part1")
                .unmarshal().json(JsonLibrary.Jackson)
                // set some values for the current exchange
                .setProperty("OrderId",simple("${body[orderId]}"))
                // doing some preprocessing on the message
                .process(exchange -> {
                    log.info("Executing the preprocessor for order:{}",exchange.getProperty("OrderId"));
                    // your preprocessing logic. If you do not have any you can remove this .process() block
                })
                .log("Order consumed and preprocessed for order: ${body}")
                .to("direct:route1-part2")
                .end();
    }
}

And given below is the test class I've written to test the above route.

package com.missakai.samplecameltesting.camel;

import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.camel.CamelContext;
import org.apache.camel.EndpointInject;
import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.AdviceWith;
import org.apache.camel.builder.AdviceWithRouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.spring.junit5.CamelSpringBootTest;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.Map;

@CamelSpringBootTest
@EnableAutoConfiguration
@SpringBootTest(
        properties = {
                // Disable other routes being initialized for testing only this route
                "camel.springboot.java-routes-include-pattern=**/Route1Part1*"
        }
)
@Slf4j
class Route1Part1Test {

    @Autowired
    CamelContext camelContext;

    @Produce("direct:route1-part1")
    ProducerTemplate producerTemplate;

    @EndpointInject("mock:direct:route1-part2")
    MockEndpoint directPart2MockEndpoint;

    static ObjectMapper objectMapper=new ObjectMapper();

    @Test
    void testRoute() throws Exception {
        directPart2MockEndpoint.setExpectedMessageCount(1);

        // mock all endpoints
        AdviceWith.adviceWith(camelContext, "route1-part1", AdviceWithRouteBuilder::mockEndpoints);

        producerTemplate.sendBody(
                "direct:route1-part1",
                objectMapper.writeValueAsString(Map.of("orderId","ABC0001"))
        );

        directPart2MockEndpoint.assertIsSatisfied();
    }

}

Reproducable Sample Application

The sample application with above code is available at https://github.com/MissakaI/sample-camel-testing

References followed when wrting the test

Full stack trace if required

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.7.5)

2022-11-21 14:00:29.970  INFO 14532 --- [           main] c.m.s.camel.Route1Part1Test              : Starting Route1Part1Test using Java 17.0.3.1 on LAPTOP-JI6B9LOJ with PI
D 14532 (started by midda in D:\Projects-Learning\sample-camel-testing)
2022-11-21 14:00:29.973  INFO 14532 --- [           main] c.m.s.camel.Route1Part1Test              : No active profile set, falling back to 1 default profile: "default"    
2022-11-21 14:00:34.989  INFO 14532 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 1 endpoint(s) beneath base path '/actuator'
2022-11-21 14:00:35.293  INFO 14532 --- [           main] c.m.s.camel.Route1Part1Test              : Started Route1Part1Test in 5.751 seconds (JVM running for 7.863)
2022-11-21 14:00:35.412  INFO 14532 --- [           main] o.a.c.t.s.j.CamelAnnotationsHandler      : Setting shutdown timeout to [10 SECONDS] on CamelContext with name [cam
elContext].
2022-11-21 14:00:35.678  INFO 14532 --- [           main] c.t.s.j.CamelSpringBootExecutionListener : CamelSpringBootExecutionListener before: class com.missakai.samplecamel
testing.camel.Route1Part1Test.testRoute
2022-11-21 14:00:35.678  INFO 14532 --- [           main] c.t.s.j.CamelSpringBootExecutionListener : Initialized CamelSpringBootExecutionListener now ready to start CamelCo
ntext
2022-11-21 14:00:35.680  INFO 14532 --- [           main] o.a.c.t.s.j.CamelAnnotationsHandler      : Starting CamelContext with name [camelContext].
2022-11-21 14:00:36.022  INFO 14532 --- [           main] o.a.c.impl.engine.AbstractCamelContext   : Apache Camel 3.18.2 (camel-1) is starting
2022-11-21 14:00:36.048  INFO 14532 --- [           main] o.a.c.impl.engine.AbstractCamelContext   : Routes startup (started:1)
2022-11-21 14:00:36.048  INFO 14532 --- [           main] o.a.c.impl.engine.AbstractCamelContext   :     Started route1-part1 (direct://route1-part1)
2022-11-21 14:00:36.048  INFO 14532 --- [           main] o.a.c.impl.engine.AbstractCamelContext   : Apache Camel 3.18.2 (camel-1) started in 486ms (build:119ms init:342ms 
start:25ms)
2022-11-21 14:00:36.839  INFO 14532 --- [           main] .c.m.InterceptSendToMockEndpointStrategy : Adviced endpoint [direct://route1-part1] with mock endpoint [mock:direc
t:route1-part1]
2022-11-21 14:00:36.840  INFO 14532 --- [           main] .c.m.InterceptSendToMockEndpointStrategy : Adviced endpoint [direct://route1-part2] with mock endpoint [mock:direc
t:route1-part2]
2022-11-21 14:00:37.853  INFO 14532 --- [           main] o.a.c.impl.engine.AbstractCamelContext   : Stopped route1-part1 (direct://route1-part1)
2022-11-21 14:00:37.855  INFO 14532 --- [           main] o.a.c.impl.engine.AbstractCamelContext   : Shutdown route1-part1 (direct://route1-part1)
2022-11-21 14:00:37.857  INFO 14532 --- [           main] org.apache.camel.builder.AdviceWith      : AdviceWith route after: Route(route1-part1)[From[direct:route1-part1] -
> [Unmarshal[org.apache.camel.model.dataformat.JsonDataFormat@45b8bbbf], SetProperty[OrderId, simple{${body[orderId]}}], process[Processor@0x474619d9], Log[Order consumed a
nd preprocessed for order: ${body}], To[direct:route1-part2]]]
2022-11-21 14:00:37.867  INFO 14532 --- [           main] org.apache.camel.builder.AdviceWith      : Adviced route before/after as XML:
<route xmlns="http://camel.apache.org/schema/spring" customId="true" id="route1-part1">
    <from uri="direct:route1-part1"/>
    <unmarshal allowNullBody="false" id="unmarshal1">
        <json library="Jackson"/>
    </unmarshal>
    <setProperty id="setProperty1" name="OrderId">
        <simple>${body[orderId]}</simple>
    </setProperty>
    <process id="process1"/>
    <log id="log1" message="Order consumed and preprocessed for order: ${body}"/>
    <to id="to1" uri="direct:route1-part2"/>
</route>

<route xmlns="http://camel.apache.org/schema/spring" customId="true" id="route1-part1">
    <from uri="direct:route1-part1"/>
    <unmarshal allowNullBody="false" id="unmarshal1">
        <json library="Jackson"/>
    </unmarshal>
    <setProperty id="setProperty1" name="OrderId">
        <simple>${body[orderId]}</simple>
    </setProperty>
    <process id="process1"/>
    <log id="log1" message="Order consumed and preprocessed for order: ${body}"/>
    <to id="to1" uri="direct:route1-part2"/>
</route>
2022-11-21 14:00:37.868  INFO 14532 --- [           main] .c.m.InterceptSendToMockEndpointStrategy : Adviced endpoint [direct://route1-part1] with mock endpoint [mock:direc
t:route1-part1]
2022-11-21 14:00:37.881  INFO 14532 --- [           main] .c.m.InterceptSendToMockEndpointStrategy : Adviced endpoint [direct://route1-part2] with mock endpoint [mock:direc
t:route1-part2]
2022-11-21 14:00:38.060  INFO 14532 --- [           main] c.m.s.camel.Route1Part1                  : Executing the preprocessor for order:ABC0001
2022-11-21 14:00:38.062  INFO 14532 --- [           main] route1-part1                             : Order consumed and preprocessed for order: {orderId=ABC0001}
2022-11-21 14:01:08.088 ERROR 14532 --- [           main] o.a.c.p.e.DefaultErrorHandler            : Failed delivery for (MessageId: 7410C3F7B378194-0000000000000000 on Exc
hangeId: 7410C3F7B378194-0000000000000000). Exhausted after delivery attempt: 1 caught: org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers 
available on endpoint: direct://route1-part2. Exchange[7410C3F7B378194-0000000000000000]

Message History (source location and message history is disabled)
---------------------------------------------------------------------------------------------------------------------------------------
Source                                   ID                             Processor                                          Elapsed (ms)
                                         route1-part1/route1-part1      from[direct://route1-part1]                               30157
        ...
                                         route1-part1/to1               direct:route1-part2                                           0

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------

org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers available on endpoint: direct://route1-part2. Exchange[7410C3F7B378194-0000000000000000]
        at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:82) ~[camel-direct-3.18.2.jar:3.18.2]
        at org.apache.camel.processor.InterceptSendToEndpointProcessor.callback(InterceptSendToEndpointProcessor.java:115) ~[camel-core-processor-3.18.2.jar:3.18.2]
        at org.apache.camel.processor.InterceptSendToEndpointProcessor$1.process(InterceptSendToEndpointProcessor.java:147) ~[camel-core-processor-3.18.2.jar:3.18.2]
        at org.apache.camel.processor.Pipeline$PipelineTask.run(Pipeline.java:106) ~[camel-core-processor-3.18.2.jar:3.18.2]
        at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:189) ~[camel-base-engine-3.18.2.jar:3.18.2]
        at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:61) ~[camel-base-engine-3.18.2.jar:3.18.2]
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:182) ~[camel-core-processor-3.18.2.jar:3.18.2]
        at org.apache.camel.processor.InterceptSendToEndpointProcessor.process(InterceptSendToEndpointProcessor.java:81) ~[camel-core-processor-3.18.2.jar:3.18.2]
        at org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:214) ~[camel-base-engine-3.18.2.jar:3.18.2]
        at org.apache.camel.impl.engine.SharedCamelInternalProcessor$1.process(SharedCamelInternalProcessor.java:111) ~[camel-base-engine-3.18.2.jar:3.18.2]
        at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83) ~[camel-base-engine-3.18.2.jar:3.18.2]
        at org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:108) ~[camel-base-engine-3.18.2.jar:3.18.2]
        at org.apache.camel.support.cache.DefaultProducerCache.send(DefaultProducerCache.java:199) ~[camel-support-3.18.2.jar:3.18.2]
        at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:176) ~[camel-base-engine-3.18.2.jar:3.18.2]
        at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:172) ~[camel-base-engine-3.18.2.jar:3.18.2]
        at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:153) ~[camel-base-engine-3.18.2.jar:3.18.2]
        at org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:187) ~[camel-base-engine-3.18.2.jar:3.18.2]
        at org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:195) ~[camel-base-engine-3.18.2.jar:3.18.2]
        at com.missakai.samplecameltesting.camel.Route1Part1Test.testRoute(Route1Part1Test.java:51) ~[test-classes/:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
        at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
        at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725) ~[junit-platform-commons-1.8.2.jar:1.8.2]
        at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) ~[junit-jupiter-engine-5.8.2.jar:
5.8.2]
        at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) ~[junit-jupiter-engine-5.8.2.jar
:5.8.2]
        at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) ~[junit-jupiter-engine-5.8.2.jar
:5.8.2]
        at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66) ~[junit-jupiter-engine-5.8.2.jar:5.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) ~[na:na]
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) ~[junit-pla
tform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) ~[na:na]
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) ~[junit-pla
tform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) ~[junit-platfo
rm-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) ~[junit-platform-engine-1.8.2.jar:1.8.2]
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) ~[junit-platform-launcher-1.3.1.jar:1.3.1]
        at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) ~[junit-platform-launcher-1.3.1.jar:1.3.1]
        at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) ~[junit-platform-launcher-1.3.1.jar:1.3.1]
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) ~[junit-platform-launcher-1.3.1.jar:1.3.1]
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) ~[junit-platform-launcher-1.3.1.jar:1.3.1]
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150) ~[surefire-junit-platform-2.22.2.jar:2.22.2]
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124) ~[surefire-junit-platform-2.22.2.jar:2.22.2]
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) ~[surefire-booter-2.22.2.jar:2.22.2]
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) ~[surefire-booter-2.22.2.jar:2.22.2]
        at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) ~[surefire-booter-2.22.2.jar:2.22.2]
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) ~[surefire-booter-2.22.2.jar:2.22.2]

0 Answers0