I'm tackling a simlar thing at the moment too :)
I'm trying to test AS business delegate methods to check that they
correctly call remote java methods. The delegates try and use
something like "this.service = ServiceLocator.getInstance().getService(
"applicationDelegate" );".
But how do instantiate my ServiceLocator (in my case Services.mxml)????
Also, how do I test the asynch remote calls?
In java I would do something like create a MockResponder as an inner
class and put a wait() in my test and have the onResult() and onFault()
methods call notify(). AS doesn't support inner classes (though I
suspect Delegate is the answer somehow). Thoughts???
cheers
Dan
(...still eagerly awaiting the book from iteration::two to arrive :)
Michael Herron wrote:
Its an interesting problem Allen, and one that ive been trying to
tackle for a while.
The easiest way to do this is to:
Var view:Object;
Function setup(){
View.myLabel = new Label()
viewHelper = new myViewHelper()
viewHelper.view = view;
}
You can do this with most of the standard controls. Instantiating a
mxml file directly from action script seems to be a lot more difficult.
I've had
some luck with instantiating the mxml normally as a class, the calling
init(). I'm sure somebody will reply to this with the correct way to do
it!
The next step is to take the mock view and extract it in to a separate
class:
Class com.views.mockView{
Var myLabel:Label;
mockVieW(){
this.myLabel = new Label
}
}
...
..
Function setup(){
viewHelper.View = new mockView();
}
The major disadvantage of this approach is that you will have to be
sure to
Keep your actual view and mock view "in-sync", but overall, you should
be
able to reliably unit tests your view helpers.
Ta,
Mike
________________________________________
From: Allen Manning [mailto:[EMAIL PROTECTED]]
Sent: 11 April 2005 17:08
To: [email protected]
Subject: [flexcoders] Using FlexUnit with Cairngorm
Hello Flexcoders,
I've started using FlexUnit to test business logic in my business
delegates.
I would now like to use FlexUnit to test my View Helpers and getter /
setter functions in the views themselves. Does anyone have any
examples of how one may run tests against their mxml views?
For example, if I want to test that a function getLabel():String placed
in the root of mx:Application in file 'index.mxml' returns the string
'myLabel', how would I go about writing my test?
public function testGetLabelFromView() : Void
{
myViewToTest = mx.core.application.Application;//?? how do I get
access to this ??
assertEquals('should be ', 'myLabel' ,myViewToTest.getLabel());
}
I'm going to run this test from a testing application, tests.mxml so
mx.core.application.Application refers to my testing application and
not the target application I wish to test.
Do I need to instantiate my target application in the tests
themselves? Like this:
public function testGetLabelFromView() : Void
{
myViewToTest = index;//do I call this as a class?
assertEquals('should be ', 'myLabel' ,myViewToTest.getLabel());
}
Any help would be greatly appreciated.
Many Thanks,
Allen
Allen Manning, Technical
Director
Prismix Ltd t: +44 (0)870 749 1100 f: +44 (0)870 749 1200 w:
www.prismix.com
________________________________________
Yahoo! Groups Links
* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/
* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
* Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
Yahoo! Groups Links
|