Итак, я тут продолжаю расшибать лоб на граблевом (грабельном?) поле. На этот раз очередной клон JUnit под AS3.0 — fluint. Кстати, я только было подумал нафига мне, например, в ASUnit вручную прописывать какие тест методы запускать, если можно через describeType узнать какие из них начинаются, скажем, с “test” и запускать их, как во fluint увидел ровно такой же подход. А ведь чуть не стал изобретать очередной велосипед.
Так вот, после часа мучений с асинхронными респондерами, я наконец нашел в сети вот что
Alas, Fluint v1.1.0 was built incorrectly and is missing the TestResponder class (see issue 35). So if you want to try out Fluint in your project, I recommend you grab it from svn and build the swc yourself. Hopefully, this will all be fixed in the next release.
А я уже что только не сделал, чтобы понять почему flex ругается на TestResponder. Оказывается, его просто нет в том SWC. @#%!!^#*, сказал я и грязно выругался. А правильный SWC есть тут.
Published on
January 21, 2009 in
Podcast.
Tags: AOP, AsUnit, CS4, DI, Framework, FWA, IoC, MVC, Parsley, Prana, Spring, Кризис, Новый год.
Первый посленовогодний выпуск подкаста. На этот раз темы следующие:
- Новый год, новые перспективы
- Немного о кризисе, банкротстве Circuit City и Обаме
- Как 20го числа умер CS4
- Фреймворк, Parsley, Spring Actionscript (ex-Prana), IoC, DI, MVC, AOP и другие страшные слова
- AsUnit и асинхронные тесты
- TheFWA и ecodazoo.com
- TheFWA и книжка
- TheFWA и valyard.ru
- С кем дальше записывать подкасты?
Ссылки по теме:
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
Скачать
Какое-то время назад я сделал одну штучку и захотел погонять ее по тестам. Штучка такая — некоторый набор состояний с переходами, которые при смене состояний во время выполнения перехода откатываются до предыдущего ( или нескольких предыдущих ).
Наткнулся на кучу проблем с асинхронными тестами. Все, что я пробовал, предлагало хороший функционал для синхронных тестов, а вот с асинхронными тестами было как-то грустно. Под асинхронностью, например в AsUnit ( там есть специальный класс для этого ), понимается, что сначала я асинхронно гружу какие-то данные для работы класса, а потом провожу обычные синхронные тесты.
И только в каком-то заросшем паутиной уголке интернета мне показали вот такой примерчик:
public class AsyncTest extends TestCase
{
public function AsyncTest(testMethod:String=null)
{
super(testMethod);
}
public function test(): void
{
var handler:Function = function(event:Event):void {
assertTrue( true );
}
var t: Timer = new Timer(1000, 1);
t.addEventListener( TimerEvent.TIMER_COMPLETE, addAsync(handler, 2000) );
t.start();
}
}
А именно addAsync(handler, 2000)