Polish Python Coders Group Forum

Wszystko o języku Python => Python od podstaw => Wątek zaczęty przez: guest013 14:46 16/07/17



Tytuł: doctest problem
Wiadomość wysłana przez: guest013 14:46 16/07/17
Cześć,
zacząłem się uczyć testów ale nie bardzo rozumiem dlaczego to nie chce wyjść.

Kod
"""
Sample doctest test module...
test_module02
"
""
 
def mul(a, b):
   """
>>> mul (2, 3)
   6
>>> mul('a', 2)
   'aa'
   "
""
   return a * b
 
def add(a, b):
   """
>>> add(2, 3)
   5
>>> add('a', 'b')
   'ab'
   "
""
   return a + b

W terminalu wpisuję : python3 -m doctest -v test_module02.py i dostaję to:

Kod
2 items had failures:
  2 of   2 in test_module02.add
  2 of   2 in test_module02.mul
4 tests in 3 items.
0 passed and 4 failed.
***Test Failed*** 4 failures.

Dlaczego?


Tytuł: Odp: doctest problem
Wiadomość wysłana przez: raydeal 15:28 16/07/17
Jak przeczytasz dokładnie komunikaty i przyjrzysz się wynikom oczekiwanym i uzyskanym to zobaczysz że chodzi o wcięcie :)
Zajrzyj do dokumentacji doctestu Pythona i zobacz jak są podane przykłady pisania testów.


Tytuł: Odp: doctest problem
Wiadomość wysłana przez: guest013 16:44 16/07/17
Nie sądziłem że się wyłożę na czymś takim jak wcięcie. Wynikom uzyskanym się przyglądałem ale nie wpadłem na to, że chodzi o taką pierdołę.


Tytuł: Odp: doctest problem
Wiadomość wysłana przez: raydeal 17:05 16/07/17
Ja się już kilka razy wyłożyłem na wcięciach w Pythonie, to zmora tego języka ;) Ciężko czasem zauważyć nadmiarowe lub brakujące spacje. O ile czasem interpreter takie błędy wyłapuje od razu to czasem się zdaża że kod działa ale nie działa prawidłowo. W tym przypadku zastanowiło mnie to że w opisie błędu testu było że wynik oczekiwany i uzyskany co do wartości był taki sam a jednak test nie był zaliczony.