非常简单的路由:
非常简单的测试用例:
得到这个:
尝试过camel:2.12.1和camel:2.11.1,今天一直在努力解决问题。包含此问题的完整测试grails项目在此处:https://github.com/gutsal-arsen/mocktest。请问有谁可以帮我解决吗? 更新1
这个没有:
所以问题在于 getMockEndpoint() 方法内部。
import org.apache.camel.builder.RouteBuilder
class TestRoutes extends RouteBuilder {
@Override
void configure(){
from("direct:foo").to("mock:bar")
}
}
非常简单的测试用例:
package mocktest
import static org.junit.Assert.*
import org.junit.*
import org.apache.camel.CamelContext
import org.apache.camel.ProducerTemplate
import org.apache.camel.test.junit4.CamelTestSupport
class TestRouteTests extends CamelTestSupport {
def CamelContext camelContext
def ProducerTemplate producerTemplate
@Test
void testSomething() {
getMockEndpoint('mock:bar').expectedMessageCount(1)
producerTemplate.sendBody('direct:foo', "Hello World")
assertMockEndpointsSatisfied()
}
}
得到这个:
| Failure: testSomething(mocktest.TestRouteTests)
| java.lang.AssertionError: mock://bar Received message count. Expected: <1> but was: <0>
尝试过camel:2.12.1和camel:2.11.1,今天一直在努力解决问题。包含此问题的完整测试grails项目在此处:https://github.com/gutsal-arsen/mocktest。请问有谁可以帮我解决吗? 更新1
@Test
void testSimpleRoute() {
def mockEndpoint
mockEndpoint = camelContext.getEndpoint('mock:bar')
//mockEndpoint = getMockEndpoint('mock:bar')
mockEndpoint.expectedMessageCount(1)
producerTemplate.sendBody('direct:foo', 'Hello World')
mockEndpoint.assertIsSatisfied()
}
这个没有:
@Test
void testSimpleRoute() {
def mockEndpoint
//mockEndpoint = camelContext.getEndpoint('mock:bar')
mockEndpoint = getMockEndpoint('mock:bar')
mockEndpoint.expectedMessageCount(1)
producerTemplate.sendBody('direct:foo', 'Hello World')
mockEndpoint.assertIsSatisfied()
}
所以问题在于 getMockEndpoint() 方法内部。
createCamelContext
方法中可以返回new DefaultCamelContext()
吗? - Archer