@Ilythiiri: Niestety. On od początku jest. Jestem programistą C# i głównie w takich obszarach się poruszam. Czasami wrzucam JavaScript czy ogólne wzorce projektowe programistyczne np. z Javy, bo tam też jest dosyć aktywne środowisko (jeśli nie bardziej), ale to dalej pozostaje tag zorientowany na C# i .NET.
  • Odpowiedz
Wielkie dzięki wszystkim firmom, które publikują swoje biblioteki do API jako klasy składające się z metod statycznych. Happy #tdd psiakrew.
Dokładnie tego potrzebuję w projekcie - dodatkowej klasy, która służy wyłącznie do opakowania statycznych wywołań w interfejs obiektowy.
#programowanie
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Maav: W tej formie o wiele lepiej, nawet pojedynczy tag jako opis jest lepszy niż surowy link - można od raz odsiać to co nieinteresujące.
Dobrą robotę robisz, mirku!
  • Odpowiedz
Od pewnego czasu w swoich projektach do dependency injection używam mega uproszczonej wersji ServiceLocator. Wygląda to mniej więcej tak (c#)

internal abstract class IServices

{

public virtual Collaborator Collaborator { get; protected set; };

...
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@sasik520: Nie znam Twoich wymagań, ale dajmy prosty przykład:
Serwis A używa Serwisu B.
Jak to rozwiązujesz? Strzelam, że masz tam po prostu

class
  • Odpowiedz
@sasik520:
Obczaj sobie to. Autorzy przechodzą przez często spotykane zagadnienia i wyjaśniają dlaczego tak jest źle i jak temu zaradzić. Ma to już parę lat, ale myślę, że za mocno się nie zestarzało :)
  • Odpowiedz
Hej mirki spod tagu #programowanie
Jestem ciekaw jak wielu z was używa TDD (tego prawdziwego TDD, nie samych unit testów).
Zacząłem naukę phpunit, miałem zamiar wkręcać się w TDD, ale im więcej o tym czytam tym więcej wątpliwości...Np tu
Jak to jest z tym unit testing u was? Używacie? Jeśli tak to w jakim zakresie?
#php #phpunit #tdd
  • 23
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@gajowy_marucha:
No to masz pierwszy przykład gigantycznego zonka, na który trafiłeś. To kompletnie nie tak, jak to zinterpretowałeś. Choć wklejony przez Ciebie cytat tego nie tłumaczy.

Owszem, zaczynasz od pisania testu. Ale testy i kod piszesz PO KAWAŁECZKU. To JEST takie test-as-you-go, z tym tylko zastrzeżeniem, że najpierw zaczynasz od napisania kawałka testu, a potem piszesz kawałek kodu, który go implementuje.

Opiszę cykl działania w TDD. Zaczynasz od wymyślenia przypadku testowego, czyli
  • Odpowiedz
Pytałem w kontekście czy mocki to code smell bo coraz częściej się słyszy takie głosy


@markaron: Jeśli jest ich dużo, a szczególnie gdy służą do testowania zależności zależności konkretnego obiektu, to są złe.

W ogóle są dwie szkoły TDD, oryginalna i londyńska. Oryginalna Kenta Becka opiera się głównie na testowaniu przepływu danych od wejścia do wyjścia. Londyńska (Growing Object Oriented Systems guided by tests) mocno opiera się na mockowaniu.

Wybranie
  • Odpowiedz
@MacDada: bo tak naprawdę nie to jest meritum testu. W tym wypadku testuję poprawność dodawania przedmiotów do koszyka. Zmienną (testowaną) w tym wypadku jest liczba produktów a nie sam produkt (interfejs produktu). Teraz myślę, że wystarczyłby mock ProductInterface aby to dobrze przetestować.
  • Odpowiedz
Hej mirki, znacie jakąś dobrą literaturę, ewentualnie inne materiały, które pozwoliłyby mi się bardziej wgłębić w temat TDD i BDD? Szczególnie w kontekście PHP.

#tdd #bdd #programowanie
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ten uczuć, kiedy cały wieczór w myśl #tdd klikasz testy i dopisujesz kod klasy serwisowej (nawiasem mówiąc dla lekko popieprzonej funkcjonalności korzystającej z własnych, czyt. nietypowych sposobów na reprezentację obiektów, plus ryjącej wielopoziomową refleksją po obiektach Javowych), po czym deployujesz całość i... po integracji z frontem od razu za pierwszym razem działa jak należy ( ͡ ͜ʖ ͡)

#java #programowanie pijcie
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki muszę napisać parę zdań na temat #tdd, a mianowicie: "Problem testowania w kontekście czasu". Załóżmy, że trzeba przetestować kod, który właściwe wyniki zwraca po 1 dniu/tygodniu/miesiącu. W jaki sposób, testować wtedy kod? Przychodzą mi na myśl jedynie mockupy, może Wy coś podpowiecie?
#programowanie
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Zaszczyk: Co to znaczy, że „zwraca wyniki po miesiącu”? Tzn, że działanie kodu jest uzależnione od aktualnej daty czy też miesiąc trwają obliczenia w funkcji?

W jednym i drugim przypadku należy przekazać do do funkcji obiekt, który ten „aktualny” czas podaje – wtedy można go swobodnie podmienić na taki, który podaje czas konieczny do przeprowadzenia testu.

Jak ze wszystkimi innymi zależnościami – zamiast ukrytych globali – wstrzykiwanie.
  • Odpowiedz
Jakich narzedzi, frameworkow uzywacie do TDD w Javascripcie ? Dodam, ze projekt jest raczej maly i raczej tylko dla zabawy, takze chyba obejde sie bez grunta.

#javascript, #tdd
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#tdd jednak zajebiste - aplikacja stawiana na nowym kompie. Jedno kliknięcie i wiem, gdzie brakuje konfiguracji / połączenia / zewnętrznej biblioteki. Szkoda, że pokrycie testami mam taki z 0.1% kodu ;)

#phpunit #programowanie
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach