Koncepcji programowania sterowanego testami uczę się czytając artykuły Craftsman (kliknij Craftsman pod Według tematu ) zalecane w odpowiedzi na moje poprzednie pytanie „Przykładowy projekt do nauki JUnita i właściwej inżynierii oprogramowania” . Póki co bardzo mi sie do podoba!
Ale teraz chcę usiąść i spróbować sam. Mam pytanie, na które mam nadzieję, będzie potrzebna tylko prosta odpowiedź.
Jak organizujesz klasy testowe JUnit i rzeczywisty kod? Mówię głównie o strukturze pakietu, ale wszelkie inne warte uwagi koncepcje też byłyby pomocne.
Czy umieszczasz klasy testowe w org.myname.project.test. *, A normalny kod w org.myname.project. *? Czy umieszczasz zajęcia testowe obok zwykłych zajęć? Czy wolisz poprzedzać nazwy klas słowem Test, a nie sufiksować je?
Wiem, że wydaje mi się, że to coś, o co nie powinienem się tak szybko martwić, ale jestem osobą bardzo skupioną na organizacji. Jestem prawie typem osoby, która spędza więcej czasu na szukaniu metod śledzenia tego, co należy zrobić, niż na faktycznym wykonywaniu zadań.
Mam projekt, który jest obecnie zgrabnie podzielony na pakiety, ale projekt stał się bałaganem. Zamiast próbować wszystko refaktoryzować i pisać testy, chcę zacząć od nowa, najpierw testy. Ale najpierw muszę wiedzieć, gdzie idą moje testy.
edycja: Zupełnie zapomniałem o Mavenie, ale wygląda na to, że większość z was go używa! W przeszłości miałem szczególny przypadek użycia, w którym Maven całkowicie się zepsuł, ale Ant dał mi elastyczność, której potrzebowałem, więc w końcu przywiązałem się do Anta, ale myślę, że może po prostu obrałem niewłaściwe podejście. Myślę, że spróbuję jeszcze raz Maven, ponieważ wygląda na to, że będzie dobrze pasował do rozwoju opartego na testach.