is it possible to mock UUID? or any problem in my Source Code?
Look at exmaple:
MyTest Class
@RunWith(PowerMockRunner.class) @PrepareForTest({UUID.class,ActualClass.class,MyTest.class}) public class MyTest extends AbstractMuleContextTestCase{ ActualClass obj=new ActualClass (); @Before public void setUp() throws Exception { final String id = "2f2ae98b-8fb2-4e2f-9913-65eaabdbcc29"; ActualClass instance = PowerMockito.spy(new ActualClass ()); PowerMockito.when(instance, UUID.randomUUID().toString()).thenReturn(id); } }
MyMain Class
Class MyMain implements Callable { public Object onCall(MuleEventContext eventContext) throws Exception { //some function private String updatingUpdateQuery(){ String uid=UUID.randomUUID().toString(); //some function } }
how to mock String uid?
am getting following errors
java.lang.IllegalStateException: Failed to transform class with name com.MyTest Reason: 3
at org.powermock.core.classloader.MockClassLoader.loadMockClass(MockClassLoader.java:265)
at org.powermock.core.classloader.MockClassLoader.loadModifiedClass(MockClassLoader.java:179)
at org.powermock.core.classloader.DeferSupportingClassLoader.loadClass(DeferSupportingClassLoader.java:70)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:145)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:40)
at org.powermock.tests.utils.impl.AbstractTestSuiteChunkerImpl.createTestDelegators(AbstractTestSuiteChunkerImpl.java:244)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.<init>(JUnit4TestSuiteChunkerImpl.java:61)
at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.<init>(AbstractCommonPowerMockRunner.java:32)
at org.powermock.modules.junit4.PowerMockRunner.<init>(PowerMockRunner.java:34)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)