Od bardzo dawna używam kolejek zadań w AppEngine do planowania zadań, dokładnie tak, jak powinienem.Kolejki zadań testowania jednostkowego w AppEngine
Ale zawsze zastanawiałem się, w jaki sposób można napisać testy? Do tej pory po prostu robiłem testy, aby upewnić się, że błąd nie występuje w interfejsie API, który umieszcza w kolejce zadanie, a następnie napisał bardziej odpowiednie testy interfejsu API wykonującego to zadanie.
Jednak ostatnio zacząłem czuć się trochę niezadowolony z tego i szukam sposobu, aby faktycznie sprawdzić, czy prawidłowe zadanie zostało dodane do właściwej kolejki. Mam nadzieję, że można to zrobić lepiej niż po prostu przez wdrożenie kodu i nadzieję na najlepsze.
Używam django-nonrel, jeśli ma to wpływ na odpowiedź.
Podsumowując: W jaki sposób można zapisać test jednostki, aby potwierdzić, że zadania zostały umieszczone w kolejce?
Wygląda na to, że to wystarczy. Dzięki! –
Możesz użyć 'self.get_tasks' i' task ['decoded_body'] 'jako skrótu, jeśli używasz wszystkich podstawowych przypadków testowych (https://github.com/jgeewax/gaetestbed/blob/master/gaetestbed/ taskqueue.py). Dodatkowo, mamy nadzieję, że wkrótce będzie częścią google.appengine.ext.testbed. Istnieje metoda 'get_filtered_tasks', która działa podobnie do' get_tasks' (https://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/api/taskqueue/taskqueue_stub.py # 2453) –
Zobacz moją odpowiedź: ta biblioteka jest teraz przestarzała na rzecz ext.testbed (https://developers.google.com/appengine/docs/python/tools/localunittesting) –