Testowanie aplikacji wycinającej teaser z artykułu. |
Testowanie aplikacji wycinającej teaser z artykułu. |
20.06.2016, 14:25:53
Post
#1
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
Jest aplikacja, która przerabia artykuł bloga na teaser, czyli taki skrót, zajawkę. Zwraca zadaną ilość znaków licząc od początku. W przypadku, gdy ucięcie pada pomiędzy tagami <code></code>, które mogą się znaleźć w artykule, domyka wszystkie rozpoczęte tagi a niezamknięte tagi pomiędzy tagami <code> i dodaje na koniec domknięcie dla <code>.
Czyli aplikacja tak schludnie ucina zawartą w artykule bloga prezentację kodu. Nie tworzą się krzaczki tylko ładny zhajlajtowany tekst ucięty gdzieś tam wewnątrz kodu. Czy taką aplikację powinno się przetestować czymś takim jak phpunit? Jeśli tak, to co by taki test robił? Bo test mógłby sprawdzać wynik dla kolejnych długości tego teasera, od 1 do 1000 np. Tylko jaką funkcją potem sprawdzić, że nie ma niedomkniętych tagów? Może w ogóle jakoś inaczej to testować, a może taka aplikacja nie podlega testowaniu? Z góry dziękuję |
|
|
20.06.2016, 14:44:47
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
Jak najbardziej powinno zostać to mocno przetestowane na możliwie dużej liczbie przypadków testowych. Jak mógłby wyglądać test?
Oczywiście to tylko jedne z przypadków testowych, których tutaj zapewne będziesz potrzebować dziesiątki. |
|
|
20.06.2016, 15:02:29
Post
#3
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
Rozumiem, ale jeszcze muszę o coś spytać. Za pośrednictwem funkcji assertEqual będzie sprawdzana identyczność stringa spodziewanego i stringa wynikowego aplikacji.
Ten string spodziewany to muszę "na piechotę" określić? Przy kilkudziesięciu testach muszę określić "na piechotę" kilkadziesiąt spodziewanych stringów? |
|
|
20.06.2016, 15:22:58
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
W skrócie: tak - test musi skądś wiedzieć jaka wartość jest uznawana za odpowiednią/wzorcową.
|
|
|
20.06.2016, 19:05:49
Post
#5
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
Ok, dzięki za pomoc. Gdyby ktoś jeszcze miał jakiś pomysł, to śmiało.
|
|
|
20.06.2016, 21:45:28
Post
#6
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) |
niedomknięte tagi naprawia tidy http://php.net/manual/en/tidy.repairstring.php
-------------------- Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
|
|
|
22.06.2016, 10:43:55
Post
#7
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
niedomknięte tagi naprawia tidy Zastosowałem mechanizm regenerujący DOMDocument zamiast tidy. Jest większa kontrola nad wynikowym stringiem. W tidy napotkałem na schody i pewnie musiałbym sporo rozkminiać w konfiguracji tidy, żeby ogarnąć. W każdym razie 1. tidy dodaje przełamanie linii na końcu zwracanego kodu. 2. Dodanie zamykającego tagu ok, ale jeszcze przed tym domykającym tagiem trza dodać '...'. Przy zagnieżdzonym domykaniu tagów dodanie 3 kropeczek musi być też zagnieżdżone. Aczkolwiek nie kwestionuję, że tidy może też tu starczyć. Ten post edytował trzczy 22.06.2016, 10:47:27 |
|
|
22.06.2016, 11:12:38
Post
#8
|
|
Grupa: Zarejestrowani Postów: 148 Pomógł: 14 Dołączył: 23.02.2013 Ostrzeżenie: (0%) |
Przydatne mogą się okazać także asercje assertContains, assertRegExp, assertStringMatchesFormat oraz utworzenie plików z fixturami, datasetów itp.
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 1.06.2024 - 05:52 |