2017-11-15 20 views
0

MUnit 테스트 케이스 안에서 뮬 리퀘 스터를 사용하여 src/test/resources 아래의 파일을 읽어야 페이로드를 지정할 수 있습니다. 현재의 구현에서는 Mule 모듈에서 Mule 리퀘 스터로부터 참조하고있는 Ftp 커넥터가 있습니다. 나는 뮬 요청자가 그것이 초기화되기 전에 커넥터에 접근하려고하는 것을 분명히 알 수 있습니다. 내가 노새에게 초기에 ftp 커넥터를 초기화 할 수있는 방법이 있습니까? 예외MUnit 테스트 케이스의 뮬 리퀘스트

:

******************************************************************************** 
Message    : Cannot perform an action on a connector when it is not started. Connector "no-delete-file-connector-test" is currently in lifecycle phase "initialise" 
Element    : /no-delete-file-connector-test @ app:haz001-test-suite.xml:33 (File) 
-------------------------------------------------------------------------------- 
Exception stack is: 
Cannot perform an action on a connector when it is not started. Connector "no-delete-file-connector-test" is currently in lifecycle phase "initialise" (org.mule.api.lifecycle.LifecycleException) 
    org.mule.transport.AbstractConnector.getRequester(AbstractConnector.java:1178) 
    org.mule.transport.AbstractConnector.request(AbstractConnector.java:2269) 
    org.mule.transport.file.FileConnector$$EnhancerByCGLIB$$d6c65eff.CGLIB$request$75(<generated>:-1) 
    (97 more...) 

    (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) 
******************************************************************************** 

다음 내 구성입니다 :

<flow-ref name="processMainFlow" doc:name="processMainFlow" /> 
    <mulerequester:request resource="file://src/test/resources/expected-discrete.csv?connector=no-delete-file-connector-test" doc:name="Mule Requester" returnClass="java.lang.String"/> 
<munit:assert-payload-equals expectedValue="#[flowVars.outputCSV]" doc:name="Assert Payload"/> 
<logger message="response for test #[payload] actual data : #[flowVars.outputCSV]" level="INFO" 
    doc:name="Logger" /> 

답변

0

이 MUNIT 시험에 파일을로드하려면, 당신은 설정 페이로드 또는 설정 메시지를 사용하여 파일 커넥터가 필요하지 않습니다 예 :

<set-payload value="#[getResource('expected-discrete.csv').asStream()]" doc:name="Set Payload"/> 

getResource 내의 경로는 pom 파일에 지정된 testResources와 관련이 있습니다 (기본값은 src/테스트/munit 및 src/test/resources).

Munit 테스트에서 커넥터의 기본 동작이므로 파일 커넥터가 중지되었습니다. 이에 대한 자세한 정보는 Mulesoft 포럼에서 확인할 수 있습니다. https://forums.mulesoft.com/questions/44649/munit-config-mock-inbounds-mock-connectors.html

+0

감사합니다. –

0

구성 요소를 호출하지 말고 조롱하십시오. 만약 조롱한다면 FTP는 munit에서는 불가능한 초기화가 필요하기 때문에이 오류를 피할 수 있습니다.