Testy jednostek, przynajmniej z punktu widzenia programowania aplikacji internetowych, nie mogą w rzeczywistości objąć projektu interfejsu użytkownika. Tym, co testuje jednostka, jest pomoc w przetestowaniu wejścia/wyjścia wszystkich metod kontrolera i/lub wszelkich pojedynczych/globalnych funkcji, które kręcisz. Tak więc, jeśli chcesz otrzymać test jednostkowy na walidacji formularzy, upewnij się, że aplikacja jest skonstruowana w taki sposób, że możesz przetestować funkcję sprawdzania poprawności niezależnie od interfejsu użytkownika.
class SomeController extends ... {
... function isAPhoneNumber($string){
if(...) {
return true;
}
else (...) {
return false;
}
}
}
To pozostawia cały kod, który dostaje wartość TO tę metodę nietestowaną.Jedynym skutecznym sposobem testowania tego jest testowanie interfejsu użytkownika bezpośrednio za pomocą pilotów zdalnego sterowania przeglądarki, takich jak Selenium. PHPUnit testing framework ma haki do używania sterownika PHP Selenium, co oznacza, że możesz używać tego samego testera, co inne testy jednostkowe.
Nigdy nie będziesz mieć 100% pewności, że niewinna zmiana nie spowoduje przeprowadzenia testów Selenium, ale istnieją kroki, które możesz wykonać w trakcie opracowywania, aby zminimalizować to. Selenium ma various different ways, aby "celować" w element, który kliknie lub wpisze. Chcesz używać kierowania, które jest tak szczegółowe, jak to możliwe, więc spróbuj dać wszystkim swoim (X) węzłom HTML unikalny element ID. To gwarantuje, że selen kliknie link bez względu na to, gdzie kończy się na stronie.
Gdy unikalny identyfikator nie jest możliwy, spróbuj zawinąć wspólne elementy za pomocą jakiegoś elementu HTML, który ma unikalny identyfikator, a następnie użyj umiejętności selekcji Xpath tarczą, by powiedzieć "kliknij link zawierający tekst", który znajduje się w div o identyfikatorze „foo”, lub kliknij trzeci link w div o identyfikatorze „foo”.
Jeśli nie jest to oczywiste z elementów powyżej, nie polegać na wybory kierowanych że selen IDE (lub inne nagrywarki) wybierze ich celem jest upewnienie się, że uruchomienie testu na tej samej stronie daje takie same wyniki, które mogą dać bardzo delikatną ścieżkę xpath. Zawsze przeglądaj testy, które rejestrujesz i naprawiaj kiepskie ustawienia kierowania.
Nie ma łatwych odpowiedzi tutaj. Gdyby tak było, aplikacje internetowe byłyby o wiele mniej błędne.
http://stackoverflow.com/questions/570451/how-to-est-do-unit-testing-for-a-web-application –