Mule FunctionalTestCase 是否需要 org.junit.rules.TestRule 类才能运行



我正在尝试在Mule 3.3中运行一个简单的Functional test。下面是我的示例代码:

import java.util.Map;    
import org.junit.Test;
import org.mule.api.MuleMessage;
import org.mule.api.client.MuleClient;
import org.mule.tck.junit4.FunctionalTestCase;
import static org.junit.Assert.*;
public class SoapServiceTest extends FunctionalTestCase {
    @Override
    protected String getConfigResources() {
        return "mule-config.xml,core-config.xml";
    }       
    @Test
    public void testSend() throws Exception
    {
        MuleClient client = muleContext.getClient();
        String payload = "foo";
        Map<String, Object> properties = null;
        MuleMessage result = client.send("http://localhost:61005/service", payload, properties);
        assertNotNull(result.getPayloadAsString());
    }    
}

但它抱怨java.lang.NoClassDefFoundError: org/junit/rules/TestRule.我已经在我的类路径中junit4.8.1.jar,但没有TestRule类,猜测是junit4.9以后的。

骡子需要这门课吗?我没有使用任何TestRule注释

来自 Mule 的父 POM:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.9</version>
</dependency>

所以是的,Mule 依赖于 JUnit 4.9,无论你是否直接依赖它。

添加时:

<dependency>
    <groupId>org.mule.tests</groupId>
    <artifactId>mule-tests-functional</artifactId>
    <version>3.3.1</version>
    <scope>test</scope>
</dependency>

到项目的POM中,JUnit 4.9应该为你拉进来。

相关内容

  • 没有找到相关文章

最新更新