<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Nested CallActivity Mockito Serialization Problem in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/nested-callactivity-mockito-serialization-problem/m-p/137227#M96210</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You can find the test project here: &lt;/SPAN&gt;&lt;A href="https://docs.google.com/open?id=0B53lOHnXR0yJVHlqS3lRajhqUXc" rel="nofollow noopener noreferrer"&gt;https://docs.google.com/open?id=0B53lOHnXR0yJVHlqS3lRajhqUXc&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have 3 bpmn process. Level1 calls Level2 and Level2 calls Level3. Level3 has only one service task which uses an expression.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I pass a spring managed bean from L1 to L2 and then L2 to L3. It works when I don't mock it. It &lt;/SPAN&gt;&lt;SPAN style="text-decoration: underline;"&gt;sometimes&lt;/SPAN&gt;&lt;SPAN&gt; works when I mock the bean.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In project there are 2 test classes:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ProcessTestNestedCallActivityProcess.java(uses activitiTestContext.xml):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Real spring bean.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ProcessTestNestedCallActivityProcessWithMock.java(uses activitiMockContext.xml):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;There are 2 test methods. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;First one &lt;/SPAN&gt;&lt;EM&gt;someTimesFails()&lt;/EM&gt;&lt;SPAN&gt; fails sometimes as name implies.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Second one &lt;/SPAN&gt;&lt;EM&gt;alwaysFails()&lt;/EM&gt;&lt;SPAN&gt; fails all the time with a serialization exception.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The difference is, in first test method, I call real method when service bean's method is called. On the contrary I call &lt;/SPAN&gt;&lt;EM&gt;thenAnswer&lt;/EM&gt;&lt;SPAN&gt; in the second test method.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;@Test&lt;BR /&gt;@Deployment(resources = { "diagram/dummy/level1Process.bpmn", "diagram/dummy/level2Process.bpmn", "diagram/dummy/level3Process.bpmn" })&lt;BR /&gt;public void someTimesFails() throws Exception&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dummyService = Mockito.mock(DummyService.class, Mockito.withSettings().serializable());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mockito.when(dummyService.dummyMethod("Level 3 Service Task")).thenCallRealMethod();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;…&lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;@Test&lt;BR /&gt;@Deployment(resources = { "diagram/dummy/level1Process.bpmn", "diagram/dummy/level2Process.bpmn", "diagram/dummy/level3Process.bpmn" })&lt;BR /&gt;public void alwaysFails() throws Exception&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;dummyService = Mockito.mock(DummyService.class, Mockito.withSettings().serializable());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mockito.when(dummyService.dummyMethod("Level 3 Service Task")).thenAnswer(new Answer&amp;lt;Serializable&amp;gt;()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public Serializable answer(InvocationOnMock invocation) throws Throwable&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("Called with mock");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return "Called with mock";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;…&lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In second test method, I got this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;2344 [main] ERROR org.activiti.engine.impl.interceptor.CommandContext&amp;nbsp; - Error while closing command context&lt;BR /&gt;org.activiti.engine.ActivitiException: Couldn't serialize value 'Mock for Serializable, hashCode: 11835846' in variable 'service'&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.variable.SerializableType.serialize(SerializableType.java:98)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.variable.SerializableType.setValue(SerializableType.java:73)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.VariableInstanceEntity.setValue(VariableInstanceEntity.java:194)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.VariableInstanceEntity.create(VariableInstanceEntity.java:72)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.VariableInstanceEntity.createAndInsert(VariableInstanceEntity.java:58)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.createVariableInstance(VariableScopeImpl.java:361)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.createVariableLocal(VariableScopeImpl.java:292)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.createVariableLocal(VariableScopeImpl.java:279)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.setVariable(VariableScopeImpl.java:254)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.setVariable(VariableScopeImpl.java:237)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.bpmn.behavior.CallActivityBehavior.execute(CallActivityBehavior.java:82)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:44)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerStart.java:52)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:49)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionCreateScope.execute(AtomicOperationTransitionCreateScope.java:49)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerTake.execute(AtomicOperationTransitionNotifyListenerTake.java:65)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionDestroyScope.execute(AtomicOperationTransitionDestroyScope.java:115)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerEnd.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerEnd.java:36)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:49)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.take(ExecutionEntity.java:370)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.bpmn.behavior.BpmnActivityBehavior.performOutgoingBehavior(BpmnActivityBehavior.java:102)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.bpmn.behavior.BpmnActivityBehavior.performDefaultOutgoingBehavior(BpmnActivityBehavior.java:51)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.leave(FlowNodeActivityBehavior.java:44)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.execute(FlowNodeActivityBehavior.java:36)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:44)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AtomicOperationProcessStartInitial.eventNotificationsCompleted(AtomicOperationProcessStartInitial.java:46)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AtomicOperationProcessStart.eventNotificationsCompleted(AtomicOperationProcessStart.java:45)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:535)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:530)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.persistence.entity.ExecutionEntity.start(ExecutionEntity.java:325)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:80)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:33)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:60)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:42)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:40)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.RuntimeServiceImpl.startProcessInstanceByKey(RuntimeServiceImpl.java:51)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at ProcessTestNestedCallActivityProcessWithMock.alwaysFails(ProcessTestNestedCallActivityProcessWithMock.java:103)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.reflect.Method.invoke(Method.java:601)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:83)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.rules.TestWatchman$1.evaluate(TestWatchman.java:48)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.junit.runners.ParentRunner.run(ParentRunner.java:236)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)&lt;BR /&gt;Caused by: java.io.NotSerializableException: ProcessTestNestedCallActivityProcessWithMock$1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.util.concurrent.ConcurrentLinkedQueue.writeObject(ConcurrentLinkedQueue.java:766)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.reflect.Method.invoke(Method.java:601)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.util.LinkedList.writeObject(LinkedList.java:1118)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.lang.reflect.Method.invoke(Method.java:601)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;at org.activiti.engine.impl.variable.SerializableType.serialize(SerializableType.java:96)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;… 105 more&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there a restriction on using thenAnswer method in unit tests?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 Dec 2012 12:41:26 GMT</pubDate>
    <dc:creator>gokceng1</dc:creator>
    <dc:date>2012-12-12T12:41:26Z</dc:date>
    <item>
      <title>Nested CallActivity Mockito Serialization Problem</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/nested-callactivity-mockito-serialization-problem/m-p/137227#M96210</link>
      <description>Hi,You can find the test project here: https://docs.google.com/open?id=0B53lOHnXR0yJVHlqS3lRajhqUXcI have 3 bpmn process. Level1 calls Level2 and Level2 calls Level3. Level3 has only one service task which uses an expression.I pass a spring managed bean from L1 to L2 and then L2 to L3. It works when</description>
      <pubDate>Wed, 12 Dec 2012 12:41:26 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/nested-callactivity-mockito-serialization-problem/m-p/137227#M96210</guid>
      <dc:creator>gokceng1</dc:creator>
      <dc:date>2012-12-12T12:41:26Z</dc:date>
    </item>
    <item>
      <title>Re: Nested CallActivity Mockito Serialization Problem</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/nested-callactivity-mockito-serialization-problem/m-p/137228#M96211</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've got a hard time following you're explanation, but from the stacktrace it seems that the mocked object is not serializable, but the object is used as a process variable, thence the need for it to be serialized.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Dec 2012 17:31:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/nested-callactivity-mockito-serialization-problem/m-p/137228#M96211</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2012-12-18T17:31:39Z</dc:date>
    </item>
    <item>
      <title>Re: Nested CallActivity Mockito Serialization Problem</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/nested-callactivity-mockito-serialization-problem/m-p/137229#M96212</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Sorry for complexity of situation, I try to make it simple here.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have one object which is &lt;/SPAN&gt;&lt;EM&gt;dummyService&lt;/EM&gt;&lt;SPAN&gt; used in process as a process variable. DummyService class implements Serializable so using it as a Spring bean there is no problem. My problem is that:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Initializing &lt;/SPAN&gt;&lt;EM&gt;dummyService&lt;/EM&gt;&lt;SPAN&gt; as a Mock using Mockito like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;CODE&gt;dummyService = Mockito.mock(DummyService.class, Mockito.withSettings().serializable());&lt;BR /&gt; Mockito.when(dummyService.dummyMethod("Level 3 Service Task")).thenCallRealMethod();&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt; OR&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;CODE&gt;dummyService = Mockito.mock(DummyService.class, Mockito.withSettings().serializable());&lt;BR /&gt; Mockito.when(dummyService.dummyMethod("Level 3 Service Task")).thenReturn(null);&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;yields no problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But initializing&amp;nbsp; &lt;/SPAN&gt;&lt;EM&gt;dummyService&lt;/EM&gt;&lt;SPAN&gt; as a Mock using Mockito like that:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;CODE&gt;this.dummyService = Mockito.mock(DummyService.class, Mockito.withSettings().serializable());&lt;BR /&gt;&amp;nbsp; Mockito.when(this.dummyService.dummyMethod("Level 3 Service Task")).thenAnswer(new Answer&amp;lt;String&amp;gt;()&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; @Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp; public String answer(final InvocationOnMock invocation) throws Throwable&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Called with mock");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "Called with mock";&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; });&lt;/CODE&gt;&lt;BR /&gt;&lt;SPAN&gt;You can see both uses &lt;/SPAN&gt;&lt;SPAN style="text-decoration: underline;"&gt;Mockito.withSettings().serializable()&lt;/SPAN&gt;&lt;SPAN&gt; but the difference is in the &lt;/SPAN&gt;&lt;EM&gt;Mockito.when&lt;/EM&gt;&lt;SPAN&gt; part. So I've asked about whether there is a known limitation about that point.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Dec 2012 10:03:26 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/nested-callactivity-mockito-serialization-problem/m-p/137229#M96212</guid>
      <dc:creator>gokceng1</dc:creator>
      <dc:date>2012-12-20T10:03:26Z</dc:date>
    </item>
    <item>
      <title>Re: Nested CallActivity Mockito Serialization Problem</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/nested-callactivity-mockito-serialization-problem/m-p/137230#M96213</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I think the mockito forum is a better place for this, as this is a mockito serialization-issue. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Perhaps your "answer" object should be serializable as weLl?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Dec 2012 08:15:15 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/nested-callactivity-mockito-serialization-problem/m-p/137230#M96213</guid>
      <dc:creator>frederikherema1</dc:creator>
      <dc:date>2012-12-21T08:15:15Z</dc:date>
    </item>
    <item>
      <title>Re: Nested CallActivity Mockito Serialization Problem</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/nested-callactivity-mockito-serialization-problem/m-p/137231#M96214</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Frederik, I tried it without Activiti and Answer class seems to create problem as you said. Anybody concerned about the situation can follow Mockito mailing list topic &lt;/SPAN&gt;&lt;A href="https://groups.google.com/forum/?fromgroups=#!topic/mockito/8nfASzdf7z0" rel="nofollow noopener noreferrer"&gt;here&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Dec 2012 14:45:34 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/nested-callactivity-mockito-serialization-problem/m-p/137231#M96214</guid>
      <dc:creator>gokceng1</dc:creator>
      <dc:date>2012-12-24T14:45:34Z</dc:date>
    </item>
  </channel>
</rss>

