try add
flash.net.registerClassAlias( "attempt.TestInterface", TestInterface );
prior to your cast attempt.


regards,

Bjorn


On 17/10/2007, at 1:06 PM, aduston1976 wrote:

lus I see a number of places on the web where the idea is mentioned,
e.g. http://www.herrodius.com/blog/?m=200704 . However I cannot find
any mock frameworks for AS3.

This evening I spent some time trying to mock one up on my own (ok,
sorry for the pun!) but I ran into troubles. Is anyone interested in
thinking about this problem with me?

Here is what I did during my 20 minutes of playing:

Define an interface:

public interface TestInterface
{
function setSomething(something : String) : void;
}

Run the following code:

public function flexmock() {
var i : TestInterface;
var c : Class =
flash.utils.getDefinitionByName("attempt.TestInterface") as Class;
var desc : XML = flash.utils.describeType(c);
var str : String = desc.toString();
var a : Object = new Object();
a["setSomething"] = function(something : String) : void {
trace(something); };
// will fail on the following line, since a does not implement
TestInterface.
i = TestInterface(a);
i.setSomething("blah");
}

AS3 doesn't support duck typing like Ruby, and I believe there is no
way to get an object in memory that implements the TestInterface
interface that my other objects can use as a mock.

Any thoughts about this? Am I doomed to use elbow grease or code
generation to create these things?

BTW, this message is also posted on the ActionScript 3 FlexUnit
Library forum in Google Groups. Hopefully that isn't some kind of
forum faux pas.

Thank you for any comments,
Adam




Reply via email to