2016-06-15 5 views
-1

, wenn ich laufen die Unit-Tests von Eclipse als junit seinem Vergehen testet, aber wenn versucht, mit todsichere Plugin ausgeführt wirdmule Unit-Tests unter Verwendung von Maven todsichere

INFO 2016-06-14 20:56:57,781 [main] org.mule.lifecycle.AbstractLifecycleManager: Initialising RegistryBroker 
INFO 2016-06-14 20:56:57,973 [main] org.mule.lifecycle.AbstractLifecycleManager: Disposing RegistryBroker 
INFO 2016-06-14 20:56:58,225 [main] org.mule.lifecycle.AbstractLifecycleManager: Initialising RegistryBroker 
INFO 2016-06-14 20:56:58,230 [main] org.mule.lifecycle.AbstractLifecycleManager: Disposing RegistryBroker 
Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 1.704 sec <<< FAILURE! - in com.company.munit.flows.devices.RetrieveDevicesMUnitTest 
testGetDevicesWithOutQueryParamters(com.company.munit.flows.devices.RetrieveDevicesMUnitTest) Time elapsed: 0.013 sec <<< ERROR! 
java.lang.RuntimeException: org.mule.api.config.ConfigurationException: null (java.lang.reflect.InvocationTargetException) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at org.mule.module.extension.internal.manager.DefaultExtensionManager.<init>(DefaultExtensionManager.java:53) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422) 
    at org.mule.util.ClassUtils.instanciateClass(ClassUtils.java:473) 
    at org.mule.util.ClassUtils.instanciateClass(ClassUtils.java:508) 
    at org.mule.util.ClassUtils.instanciateClass(ClassUtils.java:480) 
    at org.mule.config.builders.ExtensionsManagerConfigurationBuilder.doConfigure(ExtensionsManagerConfigurationBuilder.java:33) 
    at org.mule.config.builders.AbstractConfigurationBuilder.configure(AbstractConfigurationBuilder.java:43) 
    at org.mule.context.DefaultMuleContextFactory$1.configure(DefaultMuleContextFactory.java:89) 
    at org.mule.context.DefaultMuleContextFactory.doCreateMuleContext(DefaultMuleContextFactory.java:222) 
    at org.mule.context.DefaultMuleContextFactory.createMuleContext(DefaultMuleContextFactory.java:81) 
    at org.mule.munit.runner.MuleContextManager.createMule(MuleContextManager.java:106) 
    at org.mule.munit.runner.functional.FunctionalMunitSuite.<init>(FunctionalMunitSuite.java:50) 
    at com.company.munit.DefaultMUnit.<init>(DefaultMUnit.java:12) 
    at com.company.munit.flows.devices.RetrieveDevicesMUnitTest.<init>(RetrieveDevicesMUnitTest.java:20) 

Antwort

0

(dies sollte wahrscheinlich nur ein Kommentar sein Versagen Aber

Wenn Sie Komponententests direkt von Anypoint Studio (oder jede Eclipse-basierte IDE) ausführen, baut es den Klassenpfad anders als beim Ausführen dieser Tests von Maven. Oft wird Anypoint Studio dem Klassenpfad Dinge zur Verfügung stellen, die Sie brauchen, obwohl Ihr POM nicht richtig eingerichtet ist. Dies trifft vor allem auf die Veröffentlichung von APIKit zu, die in der Regel nicht von der Laufzeit bereitgestellt wird, sondern oft von Anypoint Studio bereitgestellt wird. Dies wird durch die Tatsache verstärkt, dass einige der Mule-Abhängigkeiten fälschlicherweise von älteren Versionen von mule-core abhängen. Vor allem APIKit und Mule-Munit-Support. Das Problem wird durch die kürzlich erschienene EE-Version von 3.7.4 weiter verbessert, in der wir sehen, dass nicht ALLE der notwendigen Komponenten eine Version 3.7.4 erhalten haben, obwohl viele andere Komponenten von ihnen abhängig sind.

Wenn wir mehr von Ihrem POM sehen könnten, würde es uns helfen festzustellen, welche Abhängigkeit das Problem ist.

0

Stellen Sie sicher, dass Ihre Maven POM diese Abhängigkeit erklärt:

<dependency> 
     <groupId>org.mule.tests</groupId> 
     <artifactId>mule-tests-functional</artifactId> 
     <version>${mule.version}</version> 
     <scope>test</scope> 
    </dependency> 

Ich mule.version 3.7.0 und diese Abhängigkeit bringt auch in JUnit-4.11 verwendet wird. Meine Tests laufen gut in Anypoint Studio und mit Maven über die IDE oder das Terminal. Stellen Sie sicher, dass diese Abhängigkeit in Ihrem POM liegt. Informieren Sie uns bitte.

Verwandte Themen