2013-10-11 9 views
11

py.test assert docs powiedziećpy.test: Format udało okazywać i druk niestandardowy komunikat

... jeśli podasz wiadomość z twierdzeniem, jak ta:

assert a % 2 == 0, "value was odd, should be even"

to nie twierdzenie introspekcja ma miejsce w ogóle, a wiadomość zostanie po prostu pokazana w tracebacku . wbudowany moduł

Pythona unittest robi to też chyba że twoi TestCase zestawy longMessage = True.

Posiadanie ładnego formatowania asercji jest przyjazne programistom testowym, a niestandardowy komunikat jest bardziej wymagający dla biznesu/przyjazny dla ludzi. Niestandardowa wiadomość jest szczególnie przydatna, gdy nie znajdujesz się w kontekście testu, tzn. Odpowiada na to, co tam robi to stwierdzenie, bez konieczności patrzenia na kod. Chciałbym mieć obie wiadomości.

Czy jest jakiś sposób na uzyskanie introspekcji i sformatowania py.test i wydrukowanie niestandardowej wiadomości?

Odpowiedz

2

Nie ma sposobu, aby włączyć zapewnienie dodatkowych informacji plus komunikat aktualnie. Myślę, że można go dodać, ale nie wiem, ile wysiłku jest potrzebne. Jak dotąd ta kwestia nie dotarła do mojej wiedzy. Możesz zgłosić problem lub spróbować wysłać żądanie. Należy jednak zauważyć, że jeśli przejdzie się przez wysiłek pisania niestandardowej wiadomości czytelnej dla człowieka, prawdopodobnie można również wprowadzić pewne interesujące wartości z wyrażenia.

+0

"Prawdopodobnie można również podać pewne interesujące wartości z wyrażenia" - zdecydowanie, ale kosztem powtórzenia się i nie mam ładnego formatowania. W każdym razie, podążę za [projektem BitBucket] (https://bitbucket.org/hpk42/pytest/). – Bluu

+0

Nie widziałem żadnej dyskusji na ten temat na stronie bitbucket dla py.test. Czy dodawanie tego było kiedykolwiek omawiane? –

+0

@ durden2.0 nie, spadł z mojego radaru, ponieważ zdecydowałem się powtórzyć (i nieco mniej ekspresyjną wydajność). – Bluu

Powiązane problemy