Mam klasę, która łączy trzy inne usługi, zaprojektowane specjalnie w celu uczynienia implementacji innych usług bardziej modułowymi, ale większość mojej logiki testu jednostkowego znajduje się w fałszywej weryfikacji. Czy istnieje sposób na przeprojektowanie, aby tego uniknąć?Czy ma się test jednostkowy, który w większości przypadków jest fałszywą weryfikacją zapachu?
Python przykład:
class Input(object): pass
class Output(object): pass
class Finder(object): pass
class Correlator(object): pass
def __init__(self, input, output, finder):
pass
def run():
finder.find(input.GetRows())
output.print(finder)
I wtedy trzeba kpić wejściowego, wyjście i Finder. Nawet jeśli zrobię kolejną abstrakcję i zwrócę coś z Correlator.run(), to nadal będzie musiało zostać przetestowane jako próbna.
Jaki jest dokładnie twój problem? Mam klasy, które wymagają maksymalnie ośmiu zależności ... jeśli twój projekt jest poprawny i uważasz, że twoje abstrakcje są spójne, nie zmieniłbym twojego kodu. – Simone
Myślę, że przeszkadzało mi to, że jedynym celem klasy jest integracja, więc najlepszym sposobem na sprawdzenie tego będzie test integracyjny. Zawsze dążyłem do niezależnych testów jednostkowych, a następnie testów integracyjnych w miarę dojrzewania architektury. Chyba po prostu muszę odpuścić ten. – bluehavana