我有一堆 NumericSteppers(开始周、开始年、结束周、结束年),它们深入 ViewStacks、NavigatorContents 等。我想对我的日期步进器进行单元测试,并且想知道我该怎么做?当我初始化顶级父组件时,不会创建子组件。我是否必须通过向下迭代树来手动添加所有这些组件(请说不:))?我可以使用 UIImpersonator 吗?
对不起,如果问题是基本的,Flex 对我来说很新。
我有一堆 NumericSteppers(开始周、开始年、结束周、结束年),它们深入 ViewStacks、NavigatorContents 等。我想对我的日期步进器进行单元测试,并且想知道我该怎么做?当我初始化顶级父组件时,不会创建子组件。我是否必须通过向下迭代树来手动添加所有这些组件(请说不:))?我可以使用 UIImpersonator 吗?
对不起,如果问题是基本的,Flex 对我来说很新。
在 Flash 中,为 GUI 组件创建单元测试是有问题的。我通常为控制器、表示模型、中介(等)编写单元测试——即:包含业务逻辑的非 GUI 类。
为 GUI 对象编写测试成为一个失败的提议,原因有很多:
我通常避免为诸如日期步进器之类的组件编写单元测试,我们将它们组合在一起以形成更大的“视图”。我通常使用表示模型,如果组件具有应测试的特定业务逻辑,则为非 gui 表示模型类(或控制器、中介或其他)编写测试。
public class MyViewPM
{
// write a unit test for this method
public function onSubmitButtonClick():void
{
}
}
public class MyView extends Sprite
{
// this is injected by your MVC framework
// or set when the the view is created, or added to stage, etc.
public var pm:MyViewPM;
public function MyView()
{
submitButton.addEventListener(MouseEvent.Click, onMouseClick);
}
private function onMouseClick(event:Event):void
{
pm.onSubmitButtonClick();
}
}