Robię TDD od roku, czuję się z tym całkiem nieźle, uwielbiam moje zestawy testowe i wszystko inne. Zauważyłem jednak, że ostatnio przeprowadzałem wiele próbnych weryfikacji połączeń. Na przykład miałbym usługę, do której wstrzyknie się repozytorium - w moim teście jednostkowym zdałem próbę repozytorium i sprawdziłem, czy została wywołana w ramach metody, którą testuję. Następnie sprawdziłbym, czy zwrócone wyniki są prawidłowe (w innym teście). To zdecydowanie „wydaje się” błędne, ponieważ moje testy jednostkowe są teraz bardzo powiązane ze szczegółami implementacji. Słyszałem, że powinieneś przetestować „zachowanie”, jednak w wielu sytuacjach to ... emm - niemożliwe? Jeśli maszvoid
na przykład zwykle testujesz efekty uboczne. Mam na myśli, że łatwo jest iść naprzód i pokazać kilka prostych kata kodu, gdzie można to zademonstrować, ale IMHO nie odzwierciedla zbyt dobrze programów, które piszemy w prawdziwym świecie. Czy to co robię źle? Czy ten rodzaj testowania jest rodzajem anty-wzorca? Doceniam twoją opinię na ten temat, wciąż jestem trochę początkującym, jeśli chodzi o TDD.