<?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>愚人呓语 &#187; flexunit</title>
	<atom:link href="http://eidiot.net/tag/flexunit/feed/" rel="self" type="application/rss+xml" />
	<link>http://eidiot.net</link>
	<description>eidiot&#039;s blog. My flapdoodles.</description>
	<lastBuildDate>Fri, 16 Dec 2011 15:53:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Flex Unit 4 的 Test Suite 生成工具</title>
		<link>http://eidiot.net/2010/07/06/test-suite-generator-for-flex-unit-4/</link>
		<comments>http://eidiot.net/2010/07/06/test-suite-generator-for-flex-unit-4/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 10:32:23 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[敝帚不珍 · [作品]]]></category>
		<category><![CDATA[flexunit]]></category>
		<category><![CDATA[unittest]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=552</guid>
		<description><![CDATA[Read in English: Test suite generator for Flex Unit 4 写了一个 小工具 来生成 AllTests.as 文件给 FlexUnit4 用. 下载 air 文件，安装运行即可。 通过ant调用的示例代码: &#60;project name=&#34;Test Suiter&#34; default=&#34;createSuite&#34;&#62; &#60;target name=&#34;createSuite&#34;&#62; &#60;exec executable=&#34;/Applications/TestSuiter.app/Contents/MacOS/TestSuiter&#34;&#62; &#60;arg value=&#34;/Users/someone/Desktop/SomeProject/tests&#34; /&#62; &#60;/exec&#62; &#60;/target&#62; &#60;/project&#62;]]></description>
			<content:encoded><![CDATA[<p><a href="http://eidiot.net/en/2010/07/06/test-suite-generator-for-flex-unit-4/" class="liinternal">Read in English: Test suite generator for Flex Unit 4</a></p>
<p>写了一个 <a href="http://github.com/eidiot/TestSuiter" target="_blank" class="liexternal">小工具</a> 来生成 AllTests.as 文件给 <a href="http://flexunit.org/" target="_blank" class="liexternal">FlexUnit4</a> 用. <a href="http://github.com/eidiot/TestSuiter/downloads" target="_blank" class="liexternal">下载</a> air 文件，安装运行即可。</p>
<p>通过ant调用的示例代码: </p>

<div class="wp_codebox"><table><tr id="p5522"><td class="code" id="p552code2"><pre class="xml" style="font-family:monospace;">  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;project</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Test Suiter&quot;</span> <span style="color: #000066;">default</span>=<span style="color: #ff0000;">&quot;createSuite&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;target</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;createSuite&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;exec</span> <span style="color: #000066;">executable</span>=<span style="color: #ff0000;">&quot;/Applications/TestSuiter.app/Contents/MacOS/TestSuiter&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;arg</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;/Users/someone/Desktop/SomeProject/tests&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/exec<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/target<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/project<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2010/07/06/test-suite-generator-for-flex-unit-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用FlexUnit4对as3-signals进行异步测试</title>
		<link>http://eidiot.net/2010/05/21/async-test-for-as3-signals-with-flexunit4/</link>
		<comments>http://eidiot.net/2010/05/21/async-test-for-as3-signals-with-flexunit4/#comments</comments>
		<pubDate>Fri, 21 May 2010 03:46:27 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[敝帚不珍 · [作品]]]></category>
		<category><![CDATA[as3-signals]]></category>
		<category><![CDATA[flexunit]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=551</guid>
		<description><![CDATA[Read in English: Async test for as3-signals with FlexUnit4 使用 Robert Penner 的 as3-signals 可以帮助我们节省代码量并写出更整洁的代码. 这是一个由几个代理方法组成的使用 FlexUnit4进行测试的扩展 proceedOnSignal handleSignal failOnSignal registerFailureSignal proceedOnSignal 使用这个方法确认一个signal必须被抛出。 &#91;Test&#40;async&#41;&#93; public function test_proceedOnSignal&#40;&#41;:void &#123; var model:IModel = new SomeModel&#40;&#41;; proceedOnSignal&#40;this, model.changedSignal&#41;; model.doSomethingChange&#40;&#41;; &#125; handleSignal 使用这个方法确认一个signal被抛出并且在handler方法里进行更多的断言。这个handler方法必须接收两个参数，第一个是SignalAsyncEvent，可以从这个事件的 args 属性里拿到 signal 的 dispatch 方法里传出的所有参数。第二个参数是一个Object，传进的是 handleSignal 方法的 passThroughData 参数。 &#91;Test&#40;async&#41;&#93; public function change_user&#40;&#41;:void &#123; var [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://eidiot.net/en/2010/05/21/async-test-for-as3-signals-with-flexunit4/" class="liinternal">Read in English: Async test for as3-signals with FlexUnit4</a></p>
<p>使用 <a href="http://robertpenner.com/" target="_blank" class="liexternal">Robert Penner</a> 的 <a href="http://github.com/robertpenner/as3-signals" target="_blank" class="liexternal">as3-signals</a> 可以帮助我们节省代码量并写出更整洁的代码. 这是一个由几个代理方法组成的使用 <a href="http://flexunit.org/" target="_blank" class="liexternal">FlexUnit4</a>进行测试的<a href="http://github.com/eidiot/as3-signals-utilities-async" target="_blank" class="liexternal">扩展</a></p>
<ul>
<li>proceedOnSignal</li>
<li>handleSignal</li>
<li>failOnSignal</li>
<li>registerFailureSignal</li>
</ul>
<h4>proceedOnSignal</h4>
<p>使用这个方法确认一个signal必须被抛出。</p>

<div class="wp_codebox"><table><tr id="p5517"><td class="code" id="p551code7"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#91;</span>Test<span style="color: #66cc66;">&#40;</span>async<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> test_proceedOnSignal<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> model:IModel = <span style="color: #000000; font-weight: bold;">new</span> SomeModel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    proceedOnSignal<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, model.<span style="color: #006600;">changedSignal</span><span style="color: #66cc66;">&#41;</span>;
    model.<span style="color: #006600;">doSomethingChange</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p><span id="more-551"></span></p>
<h4>handleSignal</h4>
<p>使用这个方法确认一个signal被抛出并且在handler方法里进行更多的断言。这个handler方法必须接收两个参数，第一个是<em>SignalAsyncEvent</em>，可以从这个事件的 args 属性里拿到 signal 的 dispatch 方法里传出的所有参数。第二个参数是一个Object，传进的是 <em>handleSignal</em> 方法的 <em>passThroughData</em> 参数。</p>

<div class="wp_codebox"><table><tr id="p5518"><td class="code" id="p551code8"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#91;</span>Test<span style="color: #66cc66;">&#40;</span>async<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span> 
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> change_user<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> model:IModel = <span style="color: #000000; font-weight: bold;">new</span> SomeModel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    handleSignal<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, model.<span style="color: #006600;">changedSignal</span>, verify_user, <span style="color: #cc66cc;">500</span>, <span style="color: #66cc66;">&#123;</span><span style="color: #ff0000;">&quot;name&quot;</span>:<span style="color: #ff0000;">&quot;Tom&quot;</span>, <span style="color: #ff0000;">&quot;age&quot;</span>:<span style="color: #cc66cc;">20</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
    model.<span style="color: #006600;">changeUser</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Tom&quot;</span>, <span style="color: #cc66cc;">20</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> verify_user<span style="color: #66cc66;">&#40;</span>event:SignalAsyncEvent, <span style="color: #0066CC;">data</span>:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
<span style="color: #66cc66;">&#123;</span>
    assertEquals<span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">args</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>, <span style="color: #0066CC;">data</span>.<span style="color: #0066CC;">name</span><span style="color: #66cc66;">&#41;</span>;
    assertEquals<span style="color: #66cc66;">&#40;</span>event.<span style="color: #006600;">args</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>, <span style="color: #0066CC;">data</span>.<span style="color: #006600;">age</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>
<h4>failOnSignal</h4>
<p>使用这个方法来确认一个signal <strong>不</strong> 被抛出。</p>

<div class="wp_codebox"><table><tr id="p5519"><td class="code" id="p551code9"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#91;</span>Test<span style="color: #66cc66;">&#40;</span>async<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span> 
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> not_changed<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> model:IModel = <span style="color: #000000; font-weight: bold;">new</span> SomeModel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    failOnSignal<span style="color: #66cc66;">&#40;</span>model.<span style="color: #006600;">changedSignal</span><span style="color: #66cc66;">&#41;</span>;
    model.<span style="color: #006600;">doSomethingNotChange</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>
<h4>registerFailureSignal</h4>
<p>使用这个方法在一个signal被抛出的时候使测试失败。假设你正在等待一个service的success signal，当这个service的error signal 抛出的时候你将希望这个测试直接失败，而不是等待超时。</p>

<div class="wp_codebox"><table><tr id="p55110"><td class="code" id="p551code10"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#91;</span>Test<span style="color: #66cc66;">&#40;</span>async<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span> 
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> call_service<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> service:IService = <span style="color: #000000; font-weight: bold;">new</span> SomeService<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    registerFailureSignal<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, service.<span style="color: #006600;">failedSignal</span><span style="color: #66cc66;">&#41;</span>;
    proceedOnSignal<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, service.<span style="color: #006600;">successSignal</span><span style="color: #66cc66;">&#41;</span>;
    service.<span style="color: #0066CC;">call</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>
<h4>更多</h4>
<ul>
<li><a href="http://github.com/eidiot/as3-signals-utilities-async/downloads" target="_blank" class="liexternal">下载这个扩展库</a></li>
<li><a href="http://docs.flexunit.org/asdocs/org/flexunit/async/Async.html" target="" class="liexternal">FlexUnit4中异步测试的更多内容</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2010/05/21/async-test-for-as3-signals-with-flexunit4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>as3-signals 的 FlexUnit4 扩展</title>
		<link>http://eidiot.net/2010/01/06/unit-test-utility-for-as3-signals/</link>
		<comments>http://eidiot.net/2010/01/06/unit-test-utility-for-as3-signals/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 13:29:06 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[学海沉舟 · [技术]]]></category>
		<category><![CDATA[as3-signals]]></category>
		<category><![CDATA[flexunit]]></category>
		<category><![CDATA[unittest]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=538</guid>
		<description><![CDATA[Read in English: FlexUnit 4 Utility of as3-signals 为 as3-signals 写了一个 FlexUnit 4 的扩展。 例子: Async.proceedOnEvent&#40;this, new SignalAsync&#40;instance.someSignal&#41;, SignalAsyncEvent.CALLED&#41;; instance.doSomeThingShouldDispatchSomeSignal&#40;&#41;;]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://eidiot.net/en/2010/02/21/as3-signals-utility-for-flexunit-4/" class="liinternal">Read in English: FlexUnit 4 Utility of as3-signals</a>
</p>
<p>
为 <a href="http://github.com/robertpenner/as3-signals" target="_blank" class="liexternal">as3-signals</a> 写了一个 <a href="http://github.com/eidiot/as3-signals-utilities-async" target="_blank" class="liexternal">FlexUnit 4 的扩展</a>。
</p>
<p>
例子:</p>

<div class="wp_codebox"><table><tr id="p53812"><td class="code" id="p538code12"><pre class="actionscript" style="font-family:monospace;">Async.<span style="color: #006600;">proceedOnEvent</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, <span style="color: #000000; font-weight: bold;">new</span> SignalAsync<span style="color: #66cc66;">&#40;</span>instance.<span style="color: #006600;">someSignal</span><span style="color: #66cc66;">&#41;</span>, SignalAsyncEvent.<span style="color: #006600;">CALLED</span><span style="color: #66cc66;">&#41;</span>;
instance.<span style="color: #006600;">doSomeThingShouldDispatchSomeSignal</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>
</p>
]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2010/01/06/unit-test-utility-for-as3-signals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Built in unit test support in Flash Builder and more I expected</title>
		<link>http://eidiot.net/2009/12/30/built-in-unit-test-support-in-flash-builder-and-more-i-expected/</link>
		<comments>http://eidiot.net/2009/12/30/built-in-unit-test-support-in-flash-builder-and-more-i-expected/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 10:39:17 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[学海沉舟 · [技术]]]></category>
		<category><![CDATA[flash builder]]></category>
		<category><![CDATA[flexunit]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[unittest]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=537</guid>
		<description><![CDATA[Now we have FlexUnit1 and FlexUnit4 support built in Flash Builder beta 2: Create a test suite class Create a test case class Create a test case class of an exist class and choose which methods to test. Right click a test case class and run it. Right click a test suite class and run [...]]]></description>
			<content:encoded><![CDATA[<p>Now we have FlexUnit1 and FlexUnit4 support built in Flash Builder beta 2: </p>
<ul>
<li>Create a test suite class</li>
<li>Create a test case class</li>
<li>Create a test case class of an exist class and choose which methods to test.</li>
<li>Right click a test case class and run it.</li>
<li>Right click a test suite class and run it.</li>
<li>Choose any set of test suites and test cases (test methods) to run.</li>
<li>See test results in FlexUnit Results View</li>
<p>To see more detail <a href="http://www.adobe.com/devnet/flex/articles/flashbuilder4_tdd_03.html" target="_blank" class="liexternal">Click Here</a>.
</ul>
<p>They are good for unit test, but not for TDD (write test before code).<br />
I wish to see some more:</p>
<ul>
<li>Set the source folder for real code and tests folder for test classes.</li>
<li>Create a test case class in the tests folder, and choose if create the class to be tested in the source folder.</li>
<li>Create and update test suite classes automatically in every package in the tests folder.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2009/12/30/built-in-unit-test-support-in-flash-builder-and-more-i-expected/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用 FlexUnit 和 Robotlegs 尝试 TDD</title>
		<link>http://eidiot.net/2009/12/27/try-tdd-on-robotlegs-with-flexunit/</link>
		<comments>http://eidiot.net/2009/12/27/try-tdd-on-robotlegs-with-flexunit/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 06:49:59 +0000</pubDate>
		<dc:creator>eidiot</dc:creator>
				<category><![CDATA[学海沉舟 · [技术]]]></category>
		<category><![CDATA[fdt]]></category>
		<category><![CDATA[flexunit]]></category>
		<category><![CDATA[robotlegs]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://eidiot.net/?p=535</guid>
		<description><![CDATA[尝试使用TDD的小例子(视频)。 Download (Right-click and “save as”) ｜ 下载(右键另存为)]]></description>
			<content:encoded><![CDATA[<p><img src="http://eidiot.net/wp-content/plugins/flash-video-player/default_video_player.gif" /><br />
尝试使用TDD的小例子(视频)。<br />
<a href="http://eidiot.net/wp-content/uploads/2009/12/HelloRobotlegsAndFlexUnit.mp4" target="_blank" class="liinternal">Download (Right-click and “save as”)</a> ｜ <a href="http://eidiot.net/wp-content/uploads/2009/12/HelloRobotlegsAndFlexUnit.mp4" target="_blank" class="liinternal">下载(右键另存为)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://eidiot.net/2009/12/27/try-tdd-on-robotlegs-with-flexunit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

