Witam
Proszę o wyrozumiałość i nie odsyłanie do google bo tam już spędziłem kawał czasu :(
Mam problem mam przetestować odczyt/zapis na bazie i tu moje pytanie jak usunąć po testach zmiany w bazie danych w pliku z testami?
PHPUnity+Symfony
Witam
Proszę o wyrozumiałość i nie odsyłanie do google bo tam już spędziłem kawał czasu :(
Mam problem mam przetestować odczyt/zapis na bazie i tu moje pytanie jak usunąć po testach zmiany w bazie danych w pliku z testami?
PHPUnity+Symfony
robić testy na bazie testowej a nie produkcyjnej
tylko testy zapisują zmiany w bazie, po każdym teście trzeba robić rebuild bazy a chciałbym to ominąć
no to jeśli robią insert to po prostu usuń te wpisy, a jak robią update to albo zostaw jak jest albo wcześniej pobierz stare wartości i do nich wróć.
Rozumiem, że commit danych w teście musi być? Bo jeśli nie to po prostu na końcu zrób roolback i po sprawie
testy sa ?funkcionalne?, klient testowy wypelnia formularz ktory jest przesylany do kontrolera nastepnie nastepuje przekierowanie na inny adres
nie wiem o jaka metode sie zaczepic, czytalem cos o pdo, rollback, setUp(i jej podobnych metodach) ale tak jak pisalem jestem zielony w tych sprawach, nie wychodzi mi to
Powiem szczerze nie dokładnie rozumiem, co robisz. Czy chodzi Ci o:
Symfony posiada ponadto nakładkę (klasę WebTestCase rozszerzającą PHPUnit), umożliwiającą zasymulowanie akcji użytkownika - wysłanie żądania GET-em i sprawdzenie, czy wyrenderowana strona lub element odpowiada oczekiwaniom.
Napisz coś więcej, to postaram Ci się udzielić dokładniejszej odpowiedzi.
[Mirek]
Są to testy funkcjonalne lub integracyjne nie jestem pewny - przeklikiwanie aplikacji
tworzę klienta ->przekierowanie na strone z folmularzem dodania produktu -> formularz jest przesłany do kontrolera i dane są zapisywane w bazie danych.
I teraz problem w tym że drugi raz testy nie przejdą ponieważ dane się zapisały w bazie. Nie bardzo wiem jak przywracać po testach pierwotny stan bazy. Baza danych testowa czy może jest jakaś klasa do tego. Z webtestcase korzystam.
W takim razie proponuję zainteresować Ci się snapshotami w bazie. Używając ich, w ciągu kilku sekund przywracasz określony, wcześniej zapamiętany stan bazy i możesz kontynuować testy.
[Mirek]