Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 160 Pomógł: 6 Dołączył: 13.01.2012 Skąd: Bytom Ostrzeżenie: (0%)
|
Witam, mam dwa pytania gdyż natrafiłem na te pojęcia
- testowanie jednostkowe - dependency injection Jak ja to widzę - testowanie jednostkowe - to po prostu sprawdzenie czy dany fragmentu kodu (klasy) działa, zwraca co należy i czy POTRZEBNE do tego są rzeczy takie jakie SimpleTest/PHPUnit czy mogę po prostu sprawdzać samemu co zwraca metoda np poprzez uzywania var_dumpa, i jak coś się nie zgadza bo zwróciło coś czego nie powinna to wtedy szukam błędu oraz teraz kwestia tworzenia porządnego kodu, który można testować, kod mam tworzyć tak, że można go testować samodzielnie, bez dokładania mu dziesiątek innych obiektów, może jakaś ciekawa stronka, która opisuje to porządnie (po angielsku może być) - dependency injection - chodzi w tym o to, że żadna klasa nie tworzy sama w sobie nowych obiektów klas, tylko ma je przekazywane przez parametr lub sięgają po obiekty z 'kontenera' zalezności? np
? Przepraszam za wszystkie głupoty, które tutaj napisałem, ale na tym polega nauka |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Testy: niby można by przygotować sobie jakieś testy bez wykorzystania narzędzi takich jak PHPUnit, ale na dobrą sprawę będzie to cholernie niewygodne, wydłuży i tak już sporą ilość czasu jaką trzeba poświęcić na testy, a ostatecznie skończy się "wymyślaniem koła od nowa" i przepisywaniem fragmentów tych tego typu narzędzi. Zresztą dochodzi się do absurdalnej sytuacji, gdzie będziesz musiał pewnie pisać testy do zestawu narzędzi do przeprowadzania testów. Odnośnie strony: dokumentacja samego PHPUnita robi za całkiem przyzwoity "wstęp do TDD".
Odnośnie DI: to tylko nazwa dla pewnych konstrukcji w kodzie, ale tak: generalnie chodzi o to by zewnętrzne zależności dla danego obiektu były mu przekazywane jako argumenty konstruktora (te które są bezwzględnie wymagane) bądź poprzez dedykowaną metodę (opcjonalne zależności). Na tym kończy się DI jako takie. Kontener zależności (DIC) to już zupełnie inne zagadnienie i służy on pewnej automatyzacji procesu tworzenia mocno rozbudowanych struktur obiektów. - bezpośrednie używanie kontenera zależności jest złą praktyką - tworzy ukryte zależności, które mają być przez DI wyeliminowane, - używanie metod statycznych również jest złą metodą - j/w, - obiekty mogą wewnątrz swoich metod tworzyć inne obiekty - nie wszystko musi pochodzić z zewnątrz, - przeczytaj sobie: http://symfony.com/doc/current/book/service_container.html - jest to może fragment dokumentacji Symfony, ale porusza on problem DI/DIC dosyć ogólnie. |
|
|
|
mrWodoo Pytanie o testowanie jednostkowe oraz wstrzykiwanie zależności 16.06.2014, 15:21:24
mrWodoo Dzięki wielkie, poczytałem co napisano w tej dokum... 16.06.2014, 16:14:26
Crozin 1. DIC może tworzyć wiele instancji tego samego se... 16.06.2014, 16:42:48 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 10:32 |