Ja nie rozumiem co ty tu chcesz testować. Czy python działa? Napisz normalny test integracyjny, który sprawdza czy efekt
się zgadza i tyle. A to czy ktoś tam woła os.system()
czy subprocess.call
czy robi jeszcze coś innego w ogóle nie powinno cię obchodzić.
No, tylko ja nie chcę odpalać prawdziwego procesu. Chciałbym wsadzić "udawany proces", któremu napisze jaki ma mieć exit-code i standard output. Ewentualnie jakiś "pseudo-proces", albo "tmp-proces".
Jak piszę testy pod klasę które operują na plikach, to tworzę folder /tmp
i taką siężkę przekazuję w dół. Myślę jak zrobić coś podobnego z odpalaniem procesu, żeby nie polegać na plikach systemowych, tylko żeby testy były niezależne.
Twój problem polega na tym ze robisz jakiś whitebox test który sprawdza jak wygląda kod
a nie co kod robi
.
No przecież nawet jedną odpowiedź wyżej napisałem że nie chcę wiedzieć jak to działa, żebym mógł sobie zmieniać implementację, tak żeby testy przechodził.
Zmiana kodu powoduje, że część testów przestaje działać i wymaga aktualizacji. No niespodzianka xD
No ja bym dokładnie tak chciał. Zmiana implementacji nie powinna powodować że testy failują.