Patrzę na małą (~ 70kLOC łącznie z wygenerowanym) C # (.NET 4.0, trochę Silverlight), która ma bardzo niski zasięg testu. Sam kod działa w tym sensie, że przeszedł testy akceptacji użytkownika, ale jest kruchy i w niektórych obszarach niezbyt dobrze uwzględniony. Chciałbym dodać zasięg testu jednolitych jednostek wokół starszego kodu, używając zwykłych podejrzanych (NMock, NUnit, StatLight dla bitów Silverlight).
Moje normalne podejście polega na rozpoczęciu pracy nad projektem, testowaniu jednostkowym i refaktoryzacji, dopóki nie będę zadowolony ze stanu kodu. Robiłem to wiele razy w przeszłości i działało to dobrze.
Jednak tym razem myślę o użyciu generatora testów (w szczególności Pexa ) do stworzenia frameworka testowego, a następnie ręcznie go opróżnić.
Moje pytanie brzmi: czy używałeś generatorów testów jednostkowych w przeszłości, rozpoczynając prace nad starszą bazą kodu, a jeśli tak, czy poleciłbyś je?
Obawiam się, że wygenerowane testy pominą niuanse semantyczne bazy kodu, co prowadzi do przerażającej sytuacji posiadania testów ze względu na metrykę pokrycia, a nie testów, które wyraźnie wyrażają zamierzone zachowanie w kodzie.