Изменить 05/02/2010: Я бы сейчас рекомендовал использовать FlexUnit 4 . Он использует расширяемую систему метаданных, поддерживает ожидаемые исключения, а также поддерживает работу в среде сервера интеграции без использования AIR.
Edit: Вы должны взглянуть на fluint , который был создан людьми, которым достаточно FlexUnit и его ограничений. В него могут быть встроены некоторые из этих типов утверждений.
Я полностью согласен. На самом деле в FlexUnit отсутствует несколько полезных методов (assertEvent, assertArrayEquals и т. Д.). Я знаю, что вы сказали, что знаете, как это реализовать, но не стесняйтесь использовать мою:
public static function assertError(message : String, func : Function, errorClass : Class = null, errorMessage : String = null, errorCodes : Array = null) : Error
{
_assertionsMade++;
if (errorClass == null) errorClass = Error;
try
{
func();
}
catch(ex : Error)
{
if (!(ex is errorClass))
{
fail("Expected error of type '" + getQualifiedClassName(errorClass) + "' but was '" + getQualifiedClassName(ex) + "'");
}
if (errorMessage != null && ex.message != errorMessage)
{
fail("Expected error with message '" + errorMessage + "' but was '" + ex.message + "'");
}
if (errorCodes != null && errorCodes.indexOf(ex.errorID) == -1)
{
fail("Expected error with errorID '" + errorCodes.join(" or ") + "' but was '" + ex.errorID + "'");
}
return ex;
}
if (message == null)
{
message = "Expected error of type '" + getQualifiedClassName(errorClass) + "' but none was thrown"
}
fail(message);
return null;
}