1

Functional testMule 3.3でシンプルに実行しようとしています。以下は私のサンプルコードです:

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がありません。TestRulejunit4.9

Mule にはこのクラスが必要ですか? の注釈は使用していませんTestRule

4

1 に答える 1

4

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が取り込まれるはずです。

于 2013-01-31T21:39:21.307 に答える