5

Podążam za the recommendations on the app engine site for unit testing coding with GAE. Ustawiłem prawdopodobieństwo PseudoRandomHRConsistencyPolicy na 0%, aby wymusić kod dla przypadków, w których dane nie są jeszcze spójne. Problem polega na tym, że w moim pakiecie testowym chcę wykonać pewne ustawienia danych (tworzenie i dodawanie danych do magazynu danych) i potrzebuję sposobu zmuszenia magazynu danych do wypłukania wszystkich danych w spójny stan, zanim wykonam testowany kod. (upewnij się, że datastore zwróci wszystkie globalne jednostki, które napisałem przy następnym wykonaniu zapytania).Zestaw danych GAE do płukania w magazynie GAE po przeprowadzeniu testów jednostkowych

Czy jest jakiś sposób, aby to zrobić, a jeśli nie, w jaki sposób inne osoby konfigurują dane w swoich zestawach testów, gdy używają modeli spójności?

+0

wystarczy umieścić 1 na prawdopodobieństwie, aby sprawdzić, czy operacja zapisu jest wystarczająco dobra. – Khoi

Odpowiedz

5

Kluczem do tego rozwiązania jest to zauważyć pod koniec części poświęconej HRD Testowanie:

w środowisku lokalnym, wykonując get() danego podmiotu należący do grupy podmiotów z niezastosowane write zawsze powoduje, że wyniki niezapisanego zapisu są widoczne dla kolejnych globalnych zapytań o numer . W produkcji tak nie jest.

Po prostu dodaj niektóre operacje, aby uzyskać odpowiednie zapisy, a pojawią się w przyszłych zapytaniach.

+0

Czy możesz dokładniej opisać najlepszą praktykę? Jestem nowy w HRD, więc chociaż wydaje mi się, że rozumiem, co mówisz, chcę się upewnić, że otrzymałem poprawne i kompletne uzasadnienie. – Allen

+0

@Allen Po prostu wykonaj 'db.get (a_key)' na każdym obiekcie przechowywanym w procedurze instalacji przed uruchomieniem testu właściwego. –

+0

To działało świetnie. Szkoda, że ​​nie było sposobu, żeby powiedzieć, żeby po prostu spłukać wszystko, o czym wie. Dzięki za pomoc. – Allen