fake chocolate, mock objects and test spies for AS3
Latest commit 6ae3801 Jul 1, 2012 2 @drewbourne add support to inject the generated proxy class into tests.
for example:

    public var example:Example;

    public var exampleProxyClass:Class;
Failed to load latest commit information.
.idea intellj project files Jan 11, 2012
mockolate-unit-test add support to inject the generated proxy class into tests. Jul 1, 2012
ISSUES.md updated ISSUES.md Jun 19, 2010
LICENSE updated license Aug 29, 2010
pom.xml Set the POM packaging to swc. Aug 10, 2011



fake chocolate, mock objects and test spies.

mockolate.org Documentation, examples, elaboration. Drew Bourne Contact.

This tagline is probably a hint that Mockolate is most useful when testing software. Whether you are doing test-driven-development, post-crunch-time fill-in-the-gaps, or exploratory-I-have-no-idea-what-is-going-on testing Mockolate can help.

Mock Objects

A mock object can be used to simulate the behaviour of complex, real (non-mock) objects when using the real object would be impractical or impossible. Situations where a mock object would be useful:

  • When an object is slow (like a database or webservice),
  • is non-deterministic (like the current time),
  • has states that are difficult to reproduce (like network connections)

The above is mostly appropriated from Mock Objects at Wikipedia. I could keep rewriting it here, but it's really quite a good read.

Test Spies

In espionage, spies infiltrate a system, recording and relaying information to their handlers. The handlers may use that information to check facts, inform others, or take action.

In testing, a Test Spy records which methods are called, which getters are got, which setters are set. The handler (typically a testcase) can then check the facts against what should or should not have happened and take action (typically an assertion).


  • clean consistent syntax
  • expectation-based or record-replay
  • dynamically generates proxy Classes
  • supports handcoded proxy Classes
  • provides a FlexUnit 4 Rule and Runner
  • uses proven libraries, FlexUnit 4, FLoxy and Hamcrest-as3


Head over to http://mockolate.org/ for documentation and examples:


Richard Szalay with FLoxy, and Maxim Porges with Loom for their work on Class proxy generation.

Brian LeGros for hassling me about -mock-as3- enough that I added class proxy generation to it. Except you can ignore that project in favour of Mockolate.