﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Digital Primates&#187; Fluint</title>
	<atom:link href="http://www.digitalprimates.net/author/category/fluint/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.digitalprimates.net</link>
	<description>Development and Consulting</description>
	<lastBuildDate>Thu, 16 May 2013 21:25:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>FlexUnit 4 Beta 2 is finally here (and it likes your CI Server)</title>
		<link>http://www.digitalprimates.net/author/codeslinger/2009/08/24/flexunit-4-beta-2-is-finally-here-and-it-likes-your-ci-server/</link>
		<comments>http://www.digitalprimates.net/author/codeslinger/2009/08/24/flexunit-4-beta-2-is-finally-here-and-it-likes-your-ci-server/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 12:08:00 +0000</pubDate>
		<dc:creator>codeslinger</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[DP News]]></category>
		<category><![CDATA[FlexUnit]]></category>
		<category><![CDATA[Fluint]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://test.digitalprimates.net/2009/08/24/flexunit-4-beta-2-is-finally-here-and-it-likes-your-ci-server/</guid>
		<description><![CDATA[Alright, it has been an insane few months but we are ready. FlexUnit 4 Beta 2 is now available on the adobe open source site. You can download the turnkey project to play with built libraries quickly or follow the &#8230; <a href="http://www.digitalprimates.net/author/codeslinger/2009/08/24/flexunit-4-beta-2-is-finally-here-and-it-likes-your-ci-server/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Alright, it has been an insane few months but we are ready. FlexUnit 4 Beta 2 is now available on the <a href="http://opensource.adobe.com/wiki/display/flexunit/Downloads">adobe open source site</a>.  You can download the turnkey project to play with built libraries quickly or follow the directions on the <a href="http://opensource.adobe.com/wiki/display/flexunit/Get+Source+Code">Source page</a> to grab the source yourself.
</p>
<p>
There are a huge number of fixes and enhancements in this version, all of which you can find for yourself on the <a href="http://opensource.adobe.com/wiki/display/flexunit/FlexUnit+4+Beta+2+Release+Notes">release notes page</a> but the largest change of note is the availability of CI tasks and a CI listener to allow easy hooks into the continuous integration system of your choice. A lot of hard work went into building and vetting these out on different platforms but I wanted to call out a few names in particular. 
</p>
<p>
First, thanks to Peter Martin, because all of this was based on his original work for the FlexUnit .9 tasks. Second, thanks to Joe Adkins, Conrad Winchester, Brian LeGros, Xavi Beumala and Simeon Bateman all of who contributed to development, testing and/or generally being good spirits despite inevitable development slow-downs and hiccups. This is beta code, so there are a couple of caveats and to-do items still on the list, so please be sure to check out the README file in the sample project, or <a href="http://opensource.adobe.com/wiki/display/flexunit/CI+ReadMe">read it on the wiki</a>.
</p>
<p>
So, take a few minutes, grab the bits and play around. If you have any questions or comments, in particular around the new CI tasks, <a href="http://forums.adobe.com/community/opensource/flexunit">head over to the FlexUnit forums</a>. If you believe we mutually disagree on the definition of a functional feature, then please log it into <a href="https://bugs.adobe.com/jira/browse/fxu/">the bug database</a>.
</p>
<p>
This is a completely community run project and your help and support are always welcome.
</p>
Cheers,<br/>
Labriola<br/>
<br/>]]></content:encoded>
			<wfw:commentRss>http://www.digitalprimates.net/author/codeslinger/2009/08/24/flexunit-4-beta-2-is-finally-here-and-it-likes-your-ci-server/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FlexUnit 4 and Flash Builder 4</title>
		<link>http://www.digitalprimates.net/author/codeslinger/2009/06/03/flexunit-4-and-flash-builder-4/</link>
		<comments>http://www.digitalprimates.net/author/codeslinger/2009/06/03/flexunit-4-and-flash-builder-4/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 16:06:00 +0000</pubDate>
		<dc:creator>codeslinger</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[FlexUnit]]></category>
		<category><![CDATA[Fluint]]></category>

		<guid isPermaLink="false">http://test.digitalprimates.net/2009/06/03/flexunit-4-and-flash-builder-4/</guid>
		<description><![CDATA[So, suppose you are the kind of person who has downloaded the FlexUnit 4 turnkey beta from opensource.adobe.com. Suppose you are also the type of person who downloaded the new Flash Builder 4 beta from labs.adobe.com. Well then perhaps you &#8230; <a href="http://www.digitalprimates.net/author/codeslinger/2009/06/03/flexunit-4-and-flash-builder-4/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[So, suppose you are the kind of person who has downloaded the <a href="http://opensource.adobe.com/wiki/display/flexunit/Downloads">FlexUnit 4 turnkey beta</a> from opensource.adobe.com. Suppose you are also the type of person who downloaded the new <a href="https://www.adobe.com/cfusion/entitlement/index.cfm?e=labs%5Fflashbuilder4">Flash Builder 4 beta</a> from labs.adobe.com.
Well then perhaps you are thinking to yourself, &#8220;Self, I would really like to see the results from my FlexUnit 4 tests right inside of the FlexUnit Result view in Flash Builder. I wonder how I would do that.&#8221;

Well, I would personally suggest you add the following import to your FlexUnit4Turnkey.mxml file:

<code>
import org.flexunit.runner.notification.async.XMLListener;
</code>

And then add the following line before your call to the run method of the FlexUnit 4 core.

<code>
core.addListener( new XMLListener( "FlexUnit4Turnkey" ) );
</code>

Ideally, it will look something like this:

<code>
core = new FlexUnitCore();
core.addListener( new XMLListener( "FlexUnit4Turnkey" ) );
core.run( FlexUnit4Suite, HamcrestSuite, FlexUnitIn360  );
</code>

Where the string &#8220;FlexUnit4Turnkey&#8221; represents the name of the project where this MXML file resides. If you open the FlexUnit Results view in Flash Builder and execute this MXML file, you will see the results in Flash Builder.

Unfortunately, you need to be aware of some of limitations. First, Flash Builder doesn&#8217;t know how to generate these tests yet and will currently fail if you click any of the buttons such as Run All Completed Tests, Run All Failed Tests, etc. We can just give it back information about the success and failure, Flash Builder doesn&#8217;t yet know how to choose, run or specify FlexUnit 4 tests. Also, and perhaps more severely, Flash Builder considers any Ignored tests a pseudo-failure. Truthfully, it just doesn&#8217;t understand what we mean, so, in some cases, it looks like a failure, but in others it doesn&#8217;t.

Right now, FlexUnit 4 beta still also outputs to the console, which means Flash Builder will try to keep switching you over to the console view, but this will be a little cleaner in our (FlexUnit&#8217;s) next beta drop. In either case, it is perhaps a bit of a novelty for the moment, but it demonstrates the power of the listener model that FlexUnit 4 uses. Wait till you see the stuff coming for Continuous Integration <img src='http://www.digitalprimates.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> 

Cheers and have fun,

Labriola]]></content:encoded>
			<wfw:commentRss>http://www.digitalprimates.net/author/codeslinger/2009/06/03/flexunit-4-and-flash-builder-4/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>FlexUnit 4 feature overview</title>
		<link>http://www.digitalprimates.net/author/tapper/2009/05/20/flexunit-4-feature-overview/</link>
		<comments>http://www.digitalprimates.net/author/tapper/2009/05/20/flexunit-4-feature-overview/#comments</comments>
		<pubDate>Wed, 20 May 2009 04:05:00 +0000</pubDate>
		<dc:creator>tapper</dc:creator>
				<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flashplayer]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[flex3]]></category>
		<category><![CDATA[FlexUnit4]]></category>
		<category><![CDATA[Fluint]]></category>

		<guid isPermaLink="false">http://test.digitalprimates.net/2009/05/20/flexunit-4-feature-overview/</guid>
		<description><![CDATA[Flex Unit 4 Feature OverviewView more presentations from jefftapper. More details available on Labriola&#8217;s blog and openSource.adobe]]></description>
			<content:encoded><![CDATA[<div style="width:425px;text-align:left" id="__ss_1464219"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/jefftapper/flex-unit-4-feature-overview?type=presentation" title="Flex Unit 4 Feature Overview">Flex Unit 4 Feature Overview</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=flexunit4featureoverview-090520082319-phpapp02&#038;stripped_title=flex-unit-4-feature-overview" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=flexunit4featureoverview-090520082319-phpapp02&#038;stripped_title=flex-unit-4-feature-overview" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/jefftapper">jefftapper</a>.</div></div>

More details available on <a href="http://blogs.adobe.com/codeslinger">Labriola&#8217;s blog</a> and <a href="http://opensource.adobe.com/wiki/display/flexunit/FlexUnit+4+feature+overview">openSource.adobe</a>]]></content:encoded>
			<wfw:commentRss>http://www.digitalprimates.net/author/tapper/2009/05/20/flexunit-4-feature-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FlexUnit 4 in 360 seconds</title>
		<link>http://www.digitalprimates.net/author/codeslinger/2009/05/03/flexunit-4-in-360-seconds/</link>
		<comments>http://www.digitalprimates.net/author/codeslinger/2009/05/03/flexunit-4-in-360-seconds/#comments</comments>
		<pubDate>Sun, 03 May 2009 17:05:00 +0000</pubDate>
		<dc:creator>codeslinger</dc:creator>
				<category><![CDATA[DP News]]></category>
		<category><![CDATA[FlexUnit]]></category>
		<category><![CDATA[Fluint]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://test.digitalprimates.net/2009/05/03/flexunit-4-in-360-seconds/</guid>
		<description><![CDATA[About a year back I remember reading a blog post called JUnit in 60 seconds. At the time I pondered how great it would be to have these features in Flex. Little did I know that today I would be &#8230; <a href="http://www.digitalprimates.net/author/codeslinger/2009/05/03/flexunit-4-in-360-seconds/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<p>About a year back I remember reading a blog post called <a href="http://www.cavdar.net/2008/07/21/junit-4-in-60-seconds/">JUnit in 60 seconds</a>. At the time I pondered how great it would be to have these features in Flex. Little did I know that today I would be writing this post introducing the Flex world to FlexUnit 4.</p>
<p>So, first a little background. FlexUnit 4 is the name for an upcoming release of FlexUnit. It represents the best features of the FlexUnit project combined with the best features of the Fluint project. It is built on top of a newly created foundation designed to support the latest techniques used in the JUnit testing community, but written for the specific requirements and needs of the Flash Player. Top all that off with an extensibility layer that encourages developers to create new types of test runners and extensions while simplify the process of integrating the results into IDEs and continuous integration environments, and it should give you an idea why I am excited about this release.</p>
<p>If it sounds interesting to you as well, the public alpha of this upcoming release is now available as a turnkey test project you can <a href="http://www.digitalprimates.net/wp-content/uploads/enclosures/FlexUnit4TurnkeyAlpha_1.0.zip">download from the adobe open source site</a>. I hope you will use it to learn and explore the new features, and to provide feedback about any bugs you find along the way. However, it is an alpha, so locations and names of classes, signatures of methods and even which features are supported are all subject to change before release. It is not be advisable to use this as your production testing system.</p>
<p>Speaking of features, let&#8217;s jump in. There is a bit more content to go through than the original 60 second tutorial, so, I think you will need 4-6 minutes to get through it all. To keep things consistent, many of these examples are adapted right from the JUnit in 60 seconds site referenced above.</p>
<p><span id="more-56"></span></p>
<ol>
	<li><strong>Test Metadata</strong><br /> Test cases are now marked with a piece of metadata named [Test]. Your tests no longer need any special name (prefixed with test, etc.) Also, the need for specific Test and Suite classes disappears. Your classes no longer need to inherit from any framework class. Here are a couple of sample tests. <code> [Test]   public function addition():void {    	Assert.assertEquals(12, simpleMath.add(7, 5));    }     [Test]   public function subtraction():void {    	Assert.assertEquals(9, simpleMath.subtract(12, 3));    } </code> <br /> Because your test classes no longer inherit from a class in the FlexUnit framework, you will notice that the assert functions you used in the past (assertEquals, assertTrue) are now referenced as static functions of the Assert class; more on the new ways of asserting later in this post. <br /><br /></li>
	<li><strong>Before and After</strong><br /> Sometimes you need to setup your test environment (or fixture) for your tests. In the example above, you need to ensure your simpleMath reference exists before the tests are run.  In previous versions of FlexUnit and Fluint you could override a setup() or teardown() method to accomplish this goal. FlexUnit 4 introduces Before and After metadata which accomplishes a similar goal. Any methods marked with Before will be run before each test method. Any methods marked with After will be run after each test method. This also means you can have multiple methods that run before or after the test. <br /><br /> <code> [Before] public function runBeforeEveryTest():void {    	simpleMath = new SimpleMath();    }     [Before] public function alsoRunBeforeEveryTest():void {    	simpleMath1 = new SimpleMath();    }       [After]   public function runAfterEveryTest():void {    	simpleMath = null;    	simpleMath1 = null;    } </code> <br /> If you do choose to use multiple before or after, you can control the order that these methods execute using an order parameter. So, for example [Before(order=1)], [Before(order=2)]. <br /><br /></li>
	<li><strong>BeforeClass and AfterClass</strong><br /> Methods marked with Before and After will run before and after each test method respectively. BeforeClass and AfterClass allow you to define static methods that will run once before and after the entire test class. Like Before and After, you can define multiple methods for BeforeClass and AfterClass and can control the order.  <code> [BeforeClass] public static function runBeforeClass():void {    	// run for one time before all test cases     }       [AfterClass]   public static function runAfterClass():void {    	// run for one time after all test cases     } </code></li>
	<li><strong>Exception Handling</strong><br /> Test metadata can also have an expects parameter. The expects parameter allows you to indicate that a given test is expected to throw an exception. If the test throws the named exception it is considered a success, if it does not, it is considered a failure. This prevents us from having to write tests wrapped in a try block with an empty catch.  <code> [Test(expects="flash.errors.IOError")]   public function doIOError():void {    	//a test which causes an IOError    } </code> Or <br /> <code> [Test(expects="TypeError")]   public function divisionWithException():void {    	simpleMath.divide( 11, 0 ); } </code></li>
	<li><strong>Ignore</strong><br /> Ignore metadata can be added before any test case you want to ignore. You can also add a string which indicates why you are ignoring the test. Unlike commenting out a test, these tests will still appear in the output reminding you to fix and/or complete these methods.  <code> [Ignore("Not Ready to Run")]    [Test]   public function multiplication():void {    	Assert.assertEquals(15, simpleMath.multiply(3, 5));    } </code></li>
	<li><strong>Async</strong><br /> In previous versions of FlexUnit it was difficult to have multiple asynchronous events and to test code that was event driven but not always asynchronous. Fluint provides enhanced asynchronous support including asynchronous setup and teardown, but every test carried the overhead of the asynchronous code to facilitate this feature. FlexUnit 4 allows the developer to specify which tests need asynchronous support using the async parameter. When provided, the async parameter enables the full asynchronous support provided by Fluint for that particular test. When the async parameter is specified you may also specify an optional timeout for the method.  <code> [Before(async,timeout="250")]   public function setMeUp():void {    }  [After(async,timeout="250")]   public function allDone():void {    }  [Test(async,timeout="500")]   public function doSomethingAsynchronous():void {    	//Async.proceedOnEvent( testCase, target, eventName );     	//Async.failOnEvent( testCase, target, eventName );     	//Async.handleEvent( testCase, target, eventName, eventHandler );     	//Async.asyncHandler( testCase, eventHandler );     	//Async.asyncResponder( testCase, responder );  } </code> <br /> In addition to the async parameter, there are several new Async methods, each of which can also take individual timeouts, handlers and passThroughData.  <br /><br /></li>
	<li><strong>Hamcrest</strong><br /> Earlier I alluded to new assertions. Thanks to the <a href="http://github.com/drewbourne/hamcrest-as3/tree/master">hamcrest-as3</a> project we now have the power of Hamcrest assertions. Hamcrest is based on the idea of matchers which match conditions for your assertions. For example: <br /><br /> <code> [Test] public function testGreaterThan():void {   	assertThat( 11, greaterThan(3) ); }  [Test] public function isItInHere():void {   	var someArray:Array = [ 'a', 'b', 'c', 'd', 'e', 'f' ]; 	assertThat( someArray, hasItems("b", "c") ); } </code> <br /> For more information on hamcrest:
<ul>
	<li><a href="http://github.com/drewbourne/hamcrest-as3/tree/master">Hamcrest AS3</a></li>
	<li><a href="http://code.google.com/p/hamcrest/">Hamcrest</a></li>
	<li><a href="http://code.google.com/p/hamcrest/wiki/Tutorial">Hamcrest Tutorial for Java</a></li>
	<li><a href="http://sebastian-bergmann.de/archives/735-Getting-Started-with-Hamcrest.html">Hamcrest Tutorial for PHP</a></li>
</ul>
<br /><br /></li>
	<li><strong>Suites</strong><br /> FlexUnit 4 has a concept of test suites just like FlexUnit and Fluint. Test suites are just a collection of classes that represent tests or even other suites. A suite is defined by the [Suite] metadata. However, in FlexUnit 4, you also need to provide one additional piece of metadata called [RunWith] which instructs the test runner to execute the tests defined below using a specific class. The [RunWith] metadata forms the basis of the extensibility layer which will be discussed shortly. <br /><br /> <code> [Suite] [RunWith("org.flexunit.runners.Suite")]	 public class FlexUnitIn360 { 	public var t1:BasicMathTest; 	public var t2:MyTheory; } </code> <br /> The test cases and any nested test suites, are simply defined as public variables. There is no need to instantiate them or mark them in any other way. FlexUnit&#8217;s test suite code understands how to recursively parse this class and find the tests. <br /><br /></li>
	<li><strong>User Defined Metadata Parameters</strong><br /> It&#8217;s often extremely useful to include additional pieces of information which are relevant to your development process when defining tests. So, for example, you might want to provide a detailed description of what a test is supposed to prove. This description could then be displayed if the test fails. Or perhaps you would like to note that a test relates to a give issue number in your bug tracking system. These custom parameters are stored by the framework when encountered during the test and can be used in reporting the success or failure later. <br /><br /> <code> [Test(description="This one makes sure something works",issueID="12345")] public function checkSomething():void { } </code></li>
	<li><strong>Theories, Datapoints and Assumptions</strong><br /> This is probably the largest single new feature as it introduces a whole new way of testing. A developer can create theories, which are &#8216;insights&#8217; into the way a given test should behave or over a large, potentially infinite set of values. In other words these are tests that take parameters. The parameters are defined in properties, arrays or can be retrieved from functions or other external sources. A complete description of this feature can and will take a lot of documentation, however, if you are up for reading a bit of theory, <a href="http://shareandenjoy.saff.net/tdd-specifications.pdf">this document</a> will introduce the ideas . Here is a quick sample of using these new techniques: <br /><br /> <code> [DataPoints] [ArrayElementType("String")] public static var stringValues:Array = ["one","two","three","four","five"];  [DataPoint] public static var values1:int = 2; [DataPoint] public static var values2:int = 4;  [DataPoints] [ArrayElementType("int")] public static function provideData():Array { 	return [-10, 0, 2, 4, 8, 16 ]; }  [Theory] public function testDivideMultiply( value1:int, value2:int ):void { 	assumeThat( value2, greaterThan( 0 ) ); 	 	var div:Number = simpleMath.divide( value1, value2 ); 	var mul:Number = simpleMath.multiply( div, value2 ); 	 	Assert.assertEquals( mul, value1 ); }		  [Theory] public function testStringIntCombo( value:int, stringValue:String ):void {			 	//call some method and do something  } </code> <br /> In this case, there are datapoints defined by static properties as well as method calls. The framework introspects the datapoints and uses this data combined along with any type specified in the ArrayElementType metadata. This information is used in combination with the theory method signatures to call each theory for each possible combination of parameters. <br /><br /></li>
	<li><strong>RunWith</strong><br /> FlexUnit 4 is nothing more than a set of runners combined to run a complete set of tests. A runner is a class that implements a specific interface and understands how to find, execute and report back information about any tests in a given class. Each time a new class is encountered, FlexUnit 4 works through a list of possible runners and attempts to identify the correct one to execute the tests contained in the class.  <br /> The RunWith metadata allows you to override the default choice made by the framework and specify a different class to act as the runner. This feature allows developers to write entirely new types of runners, with support for new features, which can work directly with the existing framework and report their results back through the same interface. <br /> In the case of the suite, you are instructing the framework to run this class in a specialized runner that simply finds the correct runner for all of the classes it contains. <br /><br /> <code> [RunWith("org.flexunit.runners.Suite")] </code> <br /><br /></li>
	<li><strong>Adapters</strong><br /> Using the flexibility of the multiple runners discussed above, the new FlexUnit 4 framework has legacy runners built in for both FlexUnit 1 and Fluint tests. This means that FlexUnit 4 is completely backwards compatible; all existing FlexUnit and Fluint tests can be run, and even mixed into suites with FlexUnit 4 tests without any code changes. <br /><br /> Further, supplemental runners are in development for FUnit and several other testing projects <br /><br /></li>
	<li><strong>User Interface Facade</strong><br /> Lastly FlexUnit 4 provides a UIComponent testing facade which allows you to add or remove components from the display list. This allows you to accurately test component methods in a real runtime state. This feature creates a foundation for other projects to extend into areas of integration and functional testing without the need for extensive rewrites or modifications. <br /><br /> <code> [Before(async,ui)] public function setUp():void { 	//Create a textInput, add it to the testEnvironment. Wait until it is created, then run tests on it  	textInput = new TextInput(); 	Async.proceedOnEvent( this, textInput, FlexEvent.CREATION_COMPLETE, 200 ); 	UIImpersonator.addChild( textInput ); } </code></li>
</ol>
<p>If you made it this far, I hope you download the alpha and start playing with it immediately. If you have significant time to devote to serious testing and debugging of the framework, contact me and I will be happy to invite you to the ongoing private beta program.</p>
<p>Stay tuned for some exciting news and, if you have the opportunity, be sure to make it <a href="http://www.360flex.com/">360|Flex</a> for my session about the new framework. Plus, you never know, 360 is an exciting place, we may just have more to tell you by that time.</p>
<p>Cheers and enjoy,<br /> Labriola</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalprimates.net/author/codeslinger/2009/05/03/flexunit-4-in-360-seconds/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>Fluint 1.1.0 Released</title>
		<link>http://www.digitalprimates.net/author/codeslinger/2009/02/16/fluint-110-released/</link>
		<comments>http://www.digitalprimates.net/author/codeslinger/2009/02/16/fluint-110-released/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 06:02:00 +0000</pubDate>
		<dc:creator>codeslinger</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[DP News]]></category>
		<category><![CDATA[Fluint]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://test.digitalprimates.net/2009/02/16/fluint-110-released/</guid>
		<description><![CDATA[At the end of last week Fluint 1.1.0 was released. For those of you that don&#8217;t know, Fluint is a unit and integration testing framework that was originally developed as an internal tool here at digital primates. We decided to &#8230; <a href="http://www.digitalprimates.net/author/codeslinger/2009/02/16/fluint-110-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[At the end of last week Fluint 1.1.0 was released. For those of you that don&#8217;t know, <a href="http://fluint.googlecode.com/">Fluint</a> is a unit and integration testing framework that was originally developed as an internal tool here at digital primates. We decided to open it up to the world as we thought there was some benefit. Turns out that others thought so too. <br/>
<br/>
The greatest thing about this new release is that almost all of the code was written and submitted by community members using the product. Here at DP we have been making some changes internally that we intend to offer back to the project (if the community wants to incorporate them) but in the meantime, the new build offers:<br/>
<ul>
<li>Better differentiation of errors and failures</li>
<li>Compliant XML output that can be used with JUnitReport and Surefire</li>
<li>A method of running Fluint on a headless CI server</li>
<li>Improved ant tasks</li>
<li>Improved separation of the test runner and tests with modules</li>
<li>Bug fixes and a menagerie of other features</li>
</ul>
At the end of the day, I am just proud to be a part of the project and want to offer a thank you to those who helped on the forums, submitted code or even just complained to bring things to our attention. So, thank you. <br/>
<br/>
Soon we will begin active dialog on the next round of features, so if you are interested, please <a href="http://groups.google.com/group/fluint-discussions">join the discussion</a>.<br/>
<br/>
Cheers,<br/>
Labriola<br/>
<br/>]]></content:encoded>
			<wfw:commentRss>http://www.digitalprimates.net/author/codeslinger/2009/02/16/fluint-110-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The King is Dead. Long Live the King!</title>
		<link>http://www.digitalprimates.net/author/codeslinger/2008/09/03/the-king-id-dead-long-live-the-king/</link>
		<comments>http://www.digitalprimates.net/author/codeslinger/2008/09/03/the-king-id-dead-long-live-the-king/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 05:09:00 +0000</pubDate>
		<dc:creator>codeslinger</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[dpUInt]]></category>
		<category><![CDATA[Fluint]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://test.digitalprimates.net/2008/09/03/the-king-id-dead-long-live-the-king/</guid>
		<description><![CDATA[Some of you may know that Digital Primates released a beta-quality testing framework some time back called dpUInt ( digital primates unit and integration). This started an internal framework we developed for testing UIComponent derivatives. One day we decided it &#8230; <a href="http://www.digitalprimates.net/author/codeslinger/2008/09/03/the-king-id-dead-long-live-the-king/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Some of you may know that Digital Primates released a beta-quality testing framework some time back called dpUInt ( digital primates unit and integration). This started an internal framework we developed for testing UIComponent derivatives. One day we decided it was useful enough to share with the world, so we started a google code project and sent it off into the wild.
</p><p>
Then, wow. More people than we initially expected were running into the same problems we had encountered when testing Flex applications. Soon we were receiving emails and calls from companies using dpUInt who were curious about support and the future of the project. As of this moment, I know of at least a dozen well-known and respected software firms using it for their testing framework and hundreds of developers who have written me with question and suggestions.
</p><p>
Well, I am happy to say that dpUInt has grown up a bit and finally reached the 1.0 stage of its life. Based strongly on the feedback of its users, it is also adopting a new project name, Fluint (pronounced Fluent). 
</p><p>
The new google code project, which can be found at <a href="http://fluint.googlecode.com/">http://fluint.googlecode.com/</a> has been refactored a bit. Instead of acting as a single library project, the new repository has top level directories for each of the following sub-projects: 
</p><p>
<b>fluint</b> &#8211; Library project used to build fluint.swc <br/>
<b>fluint_FlexTestRunner</b> &#8211; Simple Flex project with a sample test runner <br/>
<b>fluint_AIRTestRunner</b> &#8211; AIR project designed to run tests from an automated build environment of simply via command line <br/>
<b>fluint_AntTask</b> &#8211; Ant Tasks that facilitate running the AIRTestRunner 
from ANT <br/>
<b>fluint_Samples</b> &#8211; Samples project that will grow to contain samples uses and modules<br/>
</p><p>
The source for all component, including the AIR test runner and ant tasks are now included. 
Further, a few new features have made the jump to the new project as well: 
<ul>
<li>Ant tasks / AIR testing modules now supported (No need to recompile the test runner for new tests) 
<li>AIR Test Runner with full source for command line and ANT invocation 
<li>Improved performance 
<li>Tests can now be marked by [Test] metadata which allows the inclusion of descriptions and additional metadata carried through to the testing UI
<li>And of course, bug fixes 
</ul>
While the code and the name are in better shape, we can still use help adding more documentation. So if you are up for helping improve the Wiki pages or for providing any additional forms of documentation including tutorials and videos, we are game.
</p><p>
The google code project has an issues tab for reporting any issues found during use. So, please report bugs or simply file enhancement requests. Planning for the 1.1 release is soon to be under way. We are already committed to simplifying the syntax and readability of testing sequences, but we need help to define what else is going to be on that list.
</p><p>
Thanks,<br/>
Labriola<br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.digitalprimates.net/author/codeslinger/2008/09/03/the-king-id-dead-long-live-the-king/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
