Pergunta

Eu tenho um componente que, na criação, despacha dois eventos para campos de dados preenchido. Os eventos devem permanecer separados, porque eles são usados ??em outra parte para ações distintas.

Eu quero escrever um teste FlexUnit assíncrona para confirmar que estes eventos são ambos enviados. O problema é que ambos são variantes do mesmo evento.

Aqui está o código:

Componente:

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

Test (tanto quanto eu tê-lo):

[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();
}

A coisa é, isso só testa se o primeiro evento de dados get é despachado, e pior, depende da ordem de expedição evento. Como posso testar que ambos os eventos são eventualmente enviados por este método, independentemente do seu fim?

Foi útil?

Solução

Confira sequências: http://docs.flexunit.org/index .php? title = Sequências # Sequences_from_Fluint

Você pode adicionar um SequenceWaiter para o primeiro evento e verifique o segundo evento com o AssertHandler final.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top