Mocked ArrayCollection throws ReferenceError

47 views
Skip to first unread message

mjp

unread,
Jun 13, 2011, 4:06:19 PM6/13/11
to mockito-flex
Hi,

I have a class which has an ArrayCollection injected into it. When
running my unit tests I create a mock of the collection and inject it
in the [Before] method.

In my test method I attempt to verify that the addItem method of the
ArrayCollection is called by the class under test.

It fails with the following error:

ReferenceError: Error #1065: Variable
ArrayCollection6C531CA551F49E7594F14F92288DA5567E482678 is not
defined.
at global/flash.utils::getDefinitionByName
at org.flemit.reflection::Type$/getType
at org.floxy::InterceptorProxyListener/methodExecuted
at
asmock.generated::ArrayCollection6C531CA551F49E7594F14F92288DA5567E482678/
addItem
**[ at testing::SystemUnderTest/testCollection(SystemUnderTest.as:
22) ]
**[ at testing::SystemUnderTestTest/
testTestCollection(SystemUnderTestTest.as:59) ]
at Function/http://adobe.com/AS3/2006/builtin::apply
at flex.lang.reflect::Method/apply(Method.as:244)
at org.flexunit.runners.model::FrameworkMethod/
invokeExplosively(FrameworkMethod.as:201)
at org.flexunit.internals.runners.statements::InvokeMethod/
evaluate(InvokeMethod.as:72)
at org.flexunit.internals.runners.statements::RunBeforesInline/
handleSequenceExecuteComplete(RunBeforesInline.as:85)
at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:
107)
at org.flexunit.internals.runners.statements::AsyncStatementBase/
sendComplete(AsyncStatementBase.as:76)
at org.flexunit.internals.runners.statements::StatementSequencer/
sendComplete(StatementSequencer.as:172)
at org.flexunit.internals.runners.statements::StatementSequencer/
handleChildExecuteComplete(StatementSequencer.as:145)
at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:
107)
at org.flexunit.internals.runners.statements::InvokeMethod/
evaluate(InvokeMethod.as:73)
at org.flexunit.internals.runners.statements::SequencerWithDecoration/
executeStep(SequencerWithDecoration.as:100)
at org.flexunit.internals.runners.statements::StatementSequencer/
handleChildExecuteComplete(StatementSequencer.as:141)
at org.flexunit.internals.runners.statements::StatementSequencer/
evaluate(StatementSequencer.as:109)
at org.flexunit.internals.runners.statements::RunBeforesInline/
evaluate(RunBeforesInline.as:70)
at org.flexunit.internals.runners.statements::RunAftersInline/
evaluate(RunAftersInline.as:77)
at org.flexunit.internals.runners.statements::StatementSequencer/
executeStep(StatementSequencer.as:98)
at org.flexunit.internals.runners.statements::StatementSequencer/
handleChildExecuteComplete(StatementSequencer.as:141)
at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:
107)
at org.mockito.integrations.flexunit4::AssignMocks/
assignMocks(AssignMocks.as:45)
at org.mockito.integrations.flexunit4::AssignMocks/
evaluate(AssignMocks.as:25)
at org.flexunit.internals.runners.statements::StatementSequencer/
executeStep(StatementSequencer.as:98)
at org.flexunit.internals.runners.statements::StatementSequencer/
handleChildExecuteComplete(StatementSequencer.as:141)
at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:
107)
at Function/org.mockito.integrations.flexunit4:PrepareMocks/
private:prepareMocks/
org.mockito.integrations.flexunit4:repositoryPreparedHandler(PrepareMocks.as:
44)
at Function/<anonymous>(AsmockMockery.as:81)
at flash.events::EventDispatcher/dispatchEventFunction
at flash.events::EventDispatcher/dispatchEvent
at CompletedEventDispatcher/addEventListener
at org.mockito.impl::AsmockMockery/prepareClasses(AsmockMockery.as:88)
at org.mockito::Mockito/prepareClasses(Mockito.as:238)
at org.mockito.integrations.flexunit4::PrepareMocks/
prepareMocks(PrepareMocks.as:40)
at org.mockito.integrations.flexunit4::PrepareMocks/
evaluate(PrepareMocks.as:23)
at org.flexunit.internals.runners.statements::StatementSequencer/
executeStep(StatementSequencer.as:98)
at org.flexunit.internals.runners.statements::StatementSequencer/
handleChildExecuteComplete(StatementSequencer.as:141)
at org.flexunit.internals.runners.statements::StatementSequencer/
evaluate(StatementSequencer.as:109)
at org.flexunit.internals.runners.statements::MethodRuleBase/
proceedToNextStatement(MethodRuleBase.as:50)
at org.mockito.integrations.flexunit4::MockitoRule/
evaluate(MockitoRule.as:50)
at org.flexunit.internals.runners.statements::StackAndFrameManagement/
evaluate(StackAndFrameManagement.as:126)
at org.flexunit.runners::BlockFlexUnit4ClassRunner/
runChild(BlockFlexUnit4ClassRunner.as:153)
at org.flexunit.internals.runners::ChildRunnerSequencer/
executeStep(ChildRunnerSequencer.as:82)
at org.flexunit.internals.runners.statements::StatementSequencer/
handleChildExecuteComplete(StatementSequencer.as:141)
at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:
107)
at org.flexunit.runners::BlockFlexUnit4ClassRunner/
handleBlockComplete(BlockFlexUnit4ClassRunner.as:190)
at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:
107)
at org.flexunit.internals.runners.statements::StackAndFrameManagement/
handleNextExecuteComplete(StackAndFrameManagement.as:148)
at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:
107)
at org.flexunit.internals.runners.statements::AsyncStatementBase/
sendComplete(AsyncStatementBase.as:76)
at org.flexunit.internals.runners.statements::MethodRuleBase/
handleStatementComplete(MethodRuleBase.as:61)
at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:
107)
at org.flexunit.internals.runners.statements::AsyncStatementBase/
sendComplete(AsyncStatementBase.as:76)
at org.flexunit.internals.runners.statements::StatementSequencer/
sendComplete(StatementSequencer.as:172)
at org.flexunit.internals.runners.statements::StatementSequencer/
handleChildExecuteComplete(StatementSequencer.as:145)
at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:
107)
at org.flexunit.internals.runners.statements::AsyncStatementBase/
sendComplete(AsyncStatementBase.as:76)
at org.flexunit.internals.runners.statements::RunAftersInline/
handleSequenceExecuteComplete(RunAftersInline.as:111)
at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:
107)
at org.flexunit.internals.runners.statements::AsyncStatementBase/
sendComplete(AsyncStatementBase.as:76)

I'm using
* FlashBuilder 4.5
* mockio-1.4M5
* morefluent-1.2M8

Kris

unread,
Jun 14, 2011, 3:17:21 AM6/14/11
to mockit...@googlegroups.com

mjp

unread,
Jun 20, 2011, 3:19:07 PM6/20/11
to mockito-flex
Hi Kris,

Thanks for the response. I'm not sure how the issue with application
domain is related here

The interesting thing is that with the flexunit3 integration I could
mock ArrayCollection and I can mock an ArrayList with the flexunit4
integration. I just cant seem to mock ArrayCollection with flexunit4.

Delving into the debugger I can see that the ReferenceError is in fact
with the internal "list" property which is an instance of ArrayList
and not with the main ArrayCollection iteself.

No idea what this means and its not an issue for me at the mo as
requirements have moved on and the ArrayCollection has been replaced
by a Dictionary.

Cheers
Matt

On Jun 14, 8:17 am, Kris <kris.karczmarc...@gmail.com> wrote:
> You may want to take a look at this issue:
>
> https://bitbucket.org/loomis/mockito-flex/issue/36/control-the-applic...
>
> Regards,
> Kris
Reply all
Reply to author
Forward
0 new messages