gpt4 book ai didi

apache-flex - 为什么 FlexUnit 中没有 assertError() 函数?

转载 作者:行者123 更新时间:2023-12-05 00:43:57 24 4
gpt4 key购买 nike

似乎大多数 XUnit 测试框架在您想要断言给定操作将引发异常(或 AS3 说法中的错误)时提供断言。会解释没有包含在 FlexUnit 中的 assertError() 断言吗?

我知道如何实现这样的东西,我可能会将它添加到我的 FlexUnit(去开源!),但这似乎是一个如此明显的遗漏,我不知道我是否只是做错了。

有人对此有什么想法吗?

最佳答案

2010 年 5 月 2 日编辑:我现在建议使用 FlexUnit 4 .它使用可扩展的元数据系统,支持预期异常,还支持在不使用 AIR 的情况下在集成服务器环境中运行。

编辑:你应该看看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;
}

关于apache-flex - 为什么 FlexUnit 中没有 assertError() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/607136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com