Jak to się robi? Czy po prostu przygotowuję zestaw $_POST
/$_GET
/$_FILES
i przekazuję go do kontrolera? Czy istnieje jakiś bardziej elegancki sposób na przetestowanie kontrolerów Yii?Jak kontrolować urządzenia w Yii
9
A
Odpowiedz
16
Zazwyczaj testy jednostkowe są wykonywane dla modeli, pomocników, komponentów itp. Innymi słowy, dla czegoś, co implementuje application business logic
. W przypadku kontrolerów aplikacji testowych powszechnie używanym procesem jest Functional Testing
.
Więcej informacji na temat wykonywania takich testów można znaleźć w Yii documentation.
W skrócie, użyj czegoś takiego jak Selenium, który otwiera jakiś adres URL w przeglądarce internetowej i zbiera informacje po teście.
Inna technika testowania sterowników opisana jako over here.
Nawiasem mówiąc, jeśli trudno jest wprowadzić logikę do kontrolera, poszukaj wzoru Fat Model
we wzorze MVC. More information here.
Nie jest tak, że logika sterownika jest zbyt skomplikowana. Ale żeby uzyskać dostęp do niektórych części zalogowanych, musiałem sfałszować sesję lub coś podobnego. Nie jestem pewien, jak to zrobić. Sprawdzę linki, o których wspomniałeś. – MrB
PS: Robię to, co robi facet z linku do forum. Ale w jaki sposób mogę się "zalogować" przy użyciu tej metody, aby uzyskać dostęp do prywatnych części aplikacji internetowej? – MrB
OP proszę poprawić literówkę .. 'dokumentacja' powinna być' dokumentacją'. – Gogol