This page is intended to be a living document for the Flex and Flash community to record community projects which strive to simplify working within the domains of testing and continuous integration. If you know of a library or utility that may be useful, please add it below in alphabetical order to the appropriate section:
Testing
- as3-signals-utilities-async - http://github.com/eidiot/as3-signals-utilities-async
- A utility library to help with testing classes integrating with as3signals (http://github.com/robertpenner/as3-signals
)
- asmock - http://asmock.sourceforge.net/
- A dynamic mocking framework for ActionScript 3 (Flex and Flash). Originating implementer of runtime subclasses for use with mock objects.
- flexRpcStubs - http://github.com/blegros/flexRpcStubs
- Library which can be used to simplify unit testing of service classes with dependencies on HTTPService and RemoteObject.
- hamcrest-as3 - http://github.com/drewbourne/hamcrest-as3
- Declarative matcher library for use with conditional as well as additional tools to help with validation and filtering.
- make-it-easy-as3 - https://github.com/ripcurlx/make-it-easy-as3
- A tiny framework that makes it easy to write Test Data Builders in ActionScript 3.
- mock-as3 - http://github.com/drewbourne/mock-as3
- Expectation based mock object framework with support for explicitly typing.
- mock4as - http://code.google.com/p/mock4as/
- A simple mocking framework for AS3.
- mockito-flex - http://bitbucket.org/loomis/mockito-flex/wiki/Home
- Mock object framework inspired by its Java cousin, Mockito.
- mockolate - http://github.com/drewbourne/mockolate
- Mock object framework with support for expectations, test spies, stubs, and explicit typing.
- morefluent - http://bitbucket.org/loomis/morefluent/wiki/Home
- A DSL used to simplify the responsibility of managing asynchronous verifications in a unit test.
- swiz-framework testing support - http://www.briankotek.com/blog/index.cfm/2010/6/15/Using-the-Swiz-AutowiredTestCase
- Example of how to integration test using the Swiz Framework.
- u-input - http://bitbucket.org/loomis/uinput
- a UI testing automation for use with unit tests and others
Build Tools
- FlexMojos Plugin - http://flexmojos.sonatype.org/
- A collection of maven plugins to allow maven to compile, optimize, and test Flex and AIR code.
- FlexSDK Ant Tasks - http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_1.html
- Ant tasks distributed with each version of the Flex SDK which integrate the ability to create Flash artifacts for MXML, AS3, and other resources.
- FlexUnit4 Ant Task - http://docs.flexunit.org/index.php?title=Ant_Task
- An Ant task which integrates the ability to execute test suites written using the FlexUnit4 testing framework.
Code Coverage
- FlexCover- http://code.google.com/p/flexcover/
- A test coverage tool compatible with Flex 3.2, 3.0, 4.0, which determines coverage based on runtime analysis of automated testing.
- FlexCover to Cobertura - http://www.brianlegros.com/blog/2009/10/19/converting-a-flexcover-cvr-to-cobertura-xml-report/
- A blog post describing how to transform CVR reports produced by FlexCover into Cobertura coverage.xml reports.
- FlexCover to Emma - http://eyefodder.com/
- A series of blog posts showing how to refactor FlexCover libraries and tools to produce Emma reports rather than CVR reports.
- Flexmojos 4.x - https://docs.sonatype.org/display/FLEXMOJOS/Test+coverage+support
- Since 4.x Flexmojos came with test coverage tool. Support any Flex version (from 2.x to 4.x). Uses Cobertura to generate high quality reports compatible with almost all CI servers and code quality tools. No need for special compiler like FlexCover.
Continuous Integration Servers
=Bamboo
- TBA
=Cruise Control
- TBA
=Hudson Plugins
- Cobertura Plugin - http://wiki.hudson-ci.org/display/HUDSON/Cobertura+Plugin
- A plugin for Hudson which will generate visualizations of reports generated by FlexCover transformed by the Cobertura XLST.
- DRY Plugin - http://wiki.hudson-ci.org/display/HUDSON/DRY+Plugin
- A plugin for Hudson which will generate visualizations of reports generated by FlexCPD for your build's status page.
- Emma Plugin - http://wiki.hudson-ci.org/display/HUDSON/Emma+Plugin
- A plugin for Hudson which will generate visualizations of reports generated by the custom build of FlexCover made to produce Emma reports.
- JavaNCSS Plugin - http://wiki.hudson-ci.org/pages/viewpage.action?pageId=36603031
- A plugin for Hudson which will generate visualizations of reports generated by FlexMetrics for your build's status page.
- PMD Plugin - http://wiki.hudson-ci.org/display/HUDSON/PMD+Plugin
- A plugin for Hudson which will generate visualizations of reports generated by FlexPMD for your build's status page.
- Xvnc plugin - http://wiki.hudson-ci.org/display/HUDSON/Xvnc+Plugin
- A plugin for Hudson which will execute a build within the context of an Xvnc session. Particularly useful for FlexUnit builds since they require a windowing environment.
TeamCity
- TBA
Static Code Analysis
- FlexCPD - http://opensource.adobe.com/wiki/display/flexpmd/FlexCPD
- A static analysis tools which attempts to detect instances of copy/paste coding.
- FlexMetrics - http://opensource.adobe.com/wiki/display/flexpmd/FlexMetrics
- A static analysis tool which attempts to provide code metrics for any AS3 project.
- FlexPMD - http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD
- A tool that helps to improve code quality by auditing any AS3/Flex source directory and detecting common bad practices.
Although last updated February 2009, Douglas McCarroll has kept a list of community projects and blog posts with respect to the Flex. You can see his list @ http://www.brightworks.com/technology/adobe_flex/agile_methods.html. If anyone sees any projects they'd like to add to this above list, please feel free to edit the page.