Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.16.0
-
None
-
mac, jdk7
-
Unknown
Description
My route looks like
from(“direct:start”).to(“direct:end”)
My unit test looks like
@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = Config.class) @MockEndpoints public class MyUnitTest { @Produce(uri=“direct:start”) private ProducerTemplate producer; @EndpointInject(uri=“mock:direct:end”) private MockEndpoint end; @Test public void testMock() throws InterruptedException { end.expectedBodiesReceived("blah"); producerTemplate.sendBody("blah"); end.assertIsSatisfied(); } }
It looks like the direct:end bit is never mocked so the assertion fails. It’s like @MockEndpoints is completely ignored.
There are workarounds described here http://camel.465427.n5.nabble.com/spring-boot-test-mocks-td5773902.html
There are disadvantages to these workarounds as listed in that thread. Thanks