Piszę program, który zawiera dużo operacji na plikach. Niektóre operacje są wykonywane przez wywołanie subprocess.Popen
, np. split -l 50000 ${filename}
, gzip -d -f ${filename} ${filename}.
.Jak testować jednostkę funkcji, która używa Popen?
Teraz chcę przetestować funkcjonalność programu. Ale w jaki sposób mogę przetestować te funkcje?
Wszelkie sugestie?
Użyj biblioteki ['mock'] (http://www.voidspace.org.uk/python/mock/), zobacz [ten przykład] (http://stackoverflow.com/questions/19179795/how- do -mock-subprocess-call-in-a-unittest). – alecxe
@shihpeng Czy chcesz pozbyć się zależności narzędzia OS (aby uruchomić dany test np. W systemie Windows) lub chcesz znaleźć skuteczny sposób na zawinięcie wywołania do czegoś, co będzie używać polecenia w systemie operacyjnym, ale pozwoli ci ocenić , jeśli wszystko poszło dobrze? –