0
ScalaTest와 FunSpec 테스트 스타일을 사용하여 카멜 코드를 단위 테스트하고 싶습니다.ScalaTest를 사용하여 Camel을 테스트하는 방법
이렇게하려면 FunSpec과 CamelTestSupport 둘 다에서 확장해야합니다. 그러나이 두 클래스는 클래스이며 Scala에서이 작업을 수행하려면 적어도 하나의 특성이 필요합니다. 예를 들어,이 작동하지 않습니다
class MySpec extends FunSpec with CamelTestSupport {}
참고 :이 FunSpec에 많은 온라인 참조가이 특징이다 제안 나타납니다,하지만 scalatest_2.11-3.0.0-M15의 클래스입니다.
어떻게 ScalaTest FunSpec을 사용하여 Camel을 테스트 할 수 있습니까? 다음과 같이 JUnit을 보일지 사용하여 작성
같은 시험 :
public class DataLakeEventListenerRouteIT extends CamelTestSupport {
@Autowired
private MyRouteBuilder myRouteBuilder;
private MockEndpoint myEndpointMock;
@Override
public boolean isUseAdviceWith() {
return true;
}
@Override
protected JndiRegistry createRegistry() throws Exception {
JndiRegistry registry = super.createRegistry();
//do some required bindings here
return registry;
}
@Before
public void startup() throws Exception {
AdviceWithRouteBuilder mock = new AdviceWithRouteBuilder() {
public void configure() throws Exception {
mockEndpointsAndSkip(myRouteBuilder.MY_ROUTE_URI);
}
};
context.addRoutes(myRouteBuilder);
context.getRouteDefinition(myRouteBuilder.MY_ROUTE_ID)
.adviceWith(context, mock);
myEndpointMock = getMockEndpoint(
"mock:" + myRouteBuilder.MY_ROUTE_URI);
}
@Test
public void timerRouteShouldSendMessage() throws Exception {
// Arrange
context.start();
myEndpointMock.expectedMessageCount(1);
myEndpointMock.assertIsSatisfied();
context.stop();
}
}