【问题标题】:How can I test for an event sequence in FlexUnit 4?如何在 FlexUnit 4 中测试事件序列?
【发布时间】:2010-02-10 17:08:44
【问题描述】:

我有一个组件,它在创建时分派两个事件来填充数据字段。这些事件应该保持独立,因为它们在其他地方用于不同的操作。

我想写一个异步的flexunit测试来确认这些事件都被发送了。问题是,它们都是同一事件的变体。

代码如下:

组件:

internal function creationComplete(): void {
    new GetDataEvent(GetDataEvent.GET_DATA, "aField").dispatch();
    new GetDataEvent(GetDataEvent.GET_DATA, "anotherField").dispatch();
}

测试(据我所知):

[Test(async)]
public function creationCompleteShouldLoadRequiredData(): void {
    Async.handleEvent(this, new CairngormEventDispatcherAdapter(), GetDataEvent.GET_DATA,
            function(event: Event, ...rest): void {
                assertThat(event, hasProperty("data", hasProperty("field", "aField")));
            });
    fixture.creationComplete();
}

问题是,这仅测试第一个获取数据事件是否被调度,更糟糕的是,取决于事件调度的顺序。如何测试这两个事件最终是否都通过此方法发送出去,而不管它们的顺序如何?

【问题讨论】:

标签: apache-flex actionscript-3 flex3 cairngorm flexunit


【解决方案1】:

查看序列:http://docs.flexunit.org/index.php?title=Sequences#Sequences_from_Fluint

您可以为第一个事件添加一个 SequenceWaiter,并使用最终的 AssertHandler 检查第二个事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    相关资源
    最近更新 更多