سؤال

لدي مكون، على الإبداع، إرسال حدثين لملء حقول البيانات. يجب أن تظل الأحداث منفصلة لأنها تستخدم في أماكن أخرى من الإجراءات المميزة.

أريد أن أكتب اختبار 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();
}

الشيء هو، هذه الاختبارات الوحيدة التي يتم إرسال حدث الحصول على أول الحصول على البيانات، والأسوأ من ذلك، يعتمد على ترتيب إرسال الأحداث. كيف يمكنني اختبار أن كل من هذه الأحداث يتم إرسالها في النهاية بهذه الطريقة، بغض النظر عن أمرهم؟

هل كانت مفيدة؟

المحلول

تحقق من التسلسلات: http://docs.flexunit.org/index.php؟title=SENESCENESSHENESS_FROM_FLUINT.

يمكنك إضافة SequenceWaiter للحدث الأول وتحقق من الحدث الثاني مع AsserThandler النهائي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top