![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 28.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wiam
Chce przetestowac baze danych, klient testowy wypenia formularz przesyla go i dane sa zapisywane do bazy sprawdzane jest przekierowanie. Jak moge przywrocic pierwotny stan bazy danych sprzed testow, nie bardzo ogarniam testy prosze o jakis kierunek poszukiwan, podpowiedz lub cokolwiek Ten post edytował drezer 26.01.2015, 22:38:22 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. To już testy integracyjne, nie funkcjonalnie, niemniej jednak nadal możesz wykorzystać do nich PHPUnita.
2. Testy powinieneś wykonywać na osobnej bazie danych, która jest czyszczona i odpowiednio przygotowywana przed każdym uruchomieniem testów. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Co do pytania to możesz zrobić transakcję, i po testach zrobić rollBack
Ale jak @Crozin napisał najlepiej testować na czystej bazie. Ten post edytował Pyton_000 27.01.2015, 09:48:58 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dla bardziej wtajemniczonych:
można użyć mockery. Dobrą praktyką jest nie testować baz danych ![]() -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 28.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Testy raczej mają na celu sprawdzić czy kontroler i szablon działają prawidłowo, nie zapisuje w nich bezpośrednich odwołań do bazy. w testach tworze klienta on wypełnia formularz z danymi i nastepuje przekierowanie/wysłanie do akcji
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Dobrą praktyką jest nie testować baz danych ![]() Co jeśli podczas zapisywania danych do bazy odpalane są jakieś triggery, które wykonują dodatkową robotę? Ponadto czy w ten sposób jesteś w stanie sprawdzić czy np. więzy integralności nie zostaną naruszone? |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
+ jakies dane testowe powinny byc wrzucane do bazy danych (jezeli sa potrzebne) -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Co jeśli podczas zapisywania danych do bazy odpalane są jakieś triggery, które wykonują dodatkową robotę? Ponadto czy w ten sposób jesteś w stanie sprawdzić czy np. więzy integralności nie zostaną naruszone? Triggery w bazie = słaby kod. Mam testować PDO / ORM czy moją klasę? Są powody dla których w dokumentacji choćby symfony piszę jasno, że testowanie na bazie danych to zła praktyka. edit: Można zrobić tak jak kolega wyżej zaprezentował, zamiast mockerów. Ten post edytował Forti 28.01.2015, 13:19:23 -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@Forti:
1. Masz chyba na myśli mocki, a nie żadne mockery? 2. W testach integracyjnych jak najbardziej może być użyta baza danych. 3. Stwierdzenie, że wykorzystanie triggerów w bazie danych to słaby kod, bez poparcia tego żadnym argumentem? @drezer: Chcesz sprawdzić czy całość strony działa czy jedynie, osobno(!) działanie samego kontrolera i samego szablonu? |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ta, literówka, mocki a nie mockery
![]() Ja jestem zdania, że triggery w bazie są po prostu nie potrzebną abstrakcją. Tak mnie zreszą nauczono. -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Ja jestem zdania, że triggery w bazie są po prostu nie potrzebną abstrakcją. Tak mnie zreszą nauczono. Podaj proszę jakiś konkretny powód takiej tezy. Czy uczono Cię również, że to samo tyczy kluczy obcych? Osobiście jestem zupełnie innego zdania - im więcej triggerów tym lepiej. Po co aplikacja ma robić coś, co może zrobić baza danych? Jestem ciekaw jak ugryzłbyś taki temat bez triggerów: dodając lub aktualizując wartość pola liczbowego w tabeli A zaktualizuj średnią ze wszystkich wartości zapisując ją do tabeli B. W PHP osobne zapytanie? Fajnie, a teraz wprowadź liczbę do tabeli A z poziomu konsoli czy phpMyAdmina. Spójność danych leży i kwiczy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 15:36 |