获取" muleContext无法解决" mule Junit测试代码中的错误

时间:2015-05-25 13:38:09

标签: java junit mule junit4 junit3

我收到错误"未解决的编译问题:     muleContext无法解析"在线" MuleClient客户端= muleContext.getClient();"在Mule中的JUnit测试代码中。据我了解,这段代码是正确的。由于我是JUnit的新手,我不知道为什么会出现这个错误。任何人都可以帮我解决这个问题。

以下是您的信息流和Junit测试代码。

Junit测试:

import java.io.IOException;
import org.mule.api.client.MuleClient;
import org.junit.Test;
import org.mule.api.MuleContext;
import org.mule.api.MuleMessage;
import org.mule.util.IOUtils;
import junit.framework.TestCase;

public class sampleTest extends TestCase {

    protected String getConfigResources() {
        return "src/main/app/file-transfer-test.xml";
    }

    @Test
    public void testFile() throws Exception {
        MuleClient client = muleContext.getClient();
        String fileInputPath = "src/test/resources/InputFiles/Contacts1.csv";
        String payload = IOUtils.getResourceAsString("src/main/app/file-transfer-test.xml", this.getClass());
        client.dispatch(fileInputPath, payload, null);
        Thread.sleep(10000);
        MuleMessage result = client.request("src/test/resources/OutputFiles", 10000);
        System.out.println("The result is \n" +result +"\n The payload is : \n" +payload);
    }
}

骡流:

<flow name="file-transfer-testFlow">
        <file:inbound-endpoint path\Lineage="D:\AnyPointStudio\1SampleFTPFiles\InputFiles" moveToPattern="Contacts1.csv" responseTimeout="10000" doc:name="File"/>
        <logger message="File content :: #[payload]" level="INFO" doc:name="Logger"/>
        <file:outbound-endpoint path="D:\AnyPointStudio\1SampleFTPFiles\OtuputFiles" outputPattern="outputfile.csv" responseTimeout="10000" doc:name="File"/>
    </flow>

1 个答案:

答案 0 :(得分:1)

要在测试期间拥有有效MuleContext,您需要扩展FunctionalTestCase

import org.mule.tck.junit4.FunctionalTestCase;

public class SampleTest extends FunctionalTestCase {