2012-02-15 13 views
6

Nie chcę tworzyć prawdziwych plików w moim unittest. Tak więc często znajduję siebie majstrując z nonsensem i tworzeniem fałszywych fabryk dla pseudo-plików. Zastanawiałem się jeśli nie będzie ładniejszy, aby uniknąć (w tym przypadku) tych bezsensownych wysiłków i spróbuj coś podobnego w zakresie lokalnego sposobu unittest:Monkey-patch to wbudowana funkcja testu jednostki?

open = lambda x: StringIO() 

to byłoby ok? Czy istnieją poważne zastrzeżenia/nie wydaje się w tym podejściu i być lepszym z mock-fabryki?

Odpowiedz

4

To jest w porządku, o ile wiesz, jak działają zakresy Pythona (tj. Lokalnie jest w porządku, globalnie spowoduje problemy).

Prawdopodobnie powinieneś również wziąć pod uwagę, że twoje monkeypatche będą miały różne tryby defektów od oryginałów i mają odpowiednie testy, aby upewnić się, że twój kod współdziała poprawnie z wbudowanymi.

Powiązane problemy