Как я могу протестировать последовательность событий во FlexUnit 4?
-
19-09-2019 - |
Вопрос
У меня есть компонент, который при создании отправляет два события для заполнения полей данных.События должны оставаться отдельными, потому что они используются в другом месте для разных действий.
Я хочу написать асинхронный тест 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, и, что еще хуже, зависит от порядка отправки событий.Как я могу проверить, что оба этих события в конечном итоге отправляются этим методом, независимо от их порядка?
Решение
Проверьте Последовательности: http://docs.flexunit.org/index.php?title=Sequences#Sequences_from_Fluint
Вы могли бы добавить SequenceWaiter для первого события и проверить второе событие с помощью final AssertHandler.