我有一个组件,它在创建时分派两个事件来填充数据字段。这些事件应该保持独立,因为它们在其他地方用于不同的操作。
我想写一个异步的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();
}
问题是,这仅测试第一个 get data 事件是否被分派,更糟糕的是,这取决于事件分派的顺序。无论它们的顺序如何,我如何测试这两个事件最终都通过这种方法发送出去?