Forum Testowania i AutomatyzacjiKategoria: PytanieProblem z uruchomieniem testów z wykorzystaniem DDT
AvatarŁukasz Błaszkowski zapytał 5 lat temu

Witam,
przed modyfikacją testy działały,a jak zacząłem modyfikować pliki i wykorzystywać DDT, to już nie działa.
W konsoli wyskakuje:
Ran 1 test in 7.353s
FAILED (errors=1)
Error
Traceback (most recent call last):
File “C:\Python37-32\lib\unittest\case.py”, line 59, in testPartExecutor
yield
File “C:\Python37-32\lib\unittest\case.py”, line 615, in run
testMethod()
File “C:\Users\Dell\AppData\Roaming\Python\Python37\site-packages\ddt.py”, line 145, in wrapper
return func(self, *args, **kwargs)
TypeError: test_Logowanie() takes 3 positional arguments but 13 were given
Process finished with exit code 1
Tu jest błąd z konsoli:

View post on imgur.com


tu jest plik.csv

View post on imgur.com


a tu wygląd całego testu_logowanie

View post on imgur.com


Strona, to: http://newtours.demoaut.com/
 
ps. Jak usuwam wszystkie elementy związane z DDT, to test działa bez problemu. Nie wiem co jest nie tak

3 odpowiedzi
Best Answer
Krzysiek KijasKrzysiek Kijas Personel odpowiedział 5 lat temu

Hej,
Problemem w tym przypadku jest zbyt duża liczba parametrów, jaką get_data() przekazuje do metody testowej – w pliku jest zdefiniowane 13 różnych parametrów, a metoda przyjmuje jedynie 2. Najprostszym rozwiązaniem będzie usunięcie z pliku .csv zbędnych kolumn i pozostawienie w pliku jedynie valid_email oraz valid_haslo.

PS. Staraj się unikać połączeń pol-ang w zmiennych, tak jak w valid_haslo 😉

AvatarŁukasz Błaszkowski odpowiedział 5 lat temu

Usunąłem niezbędne parametry i poprawiłem nazwy zmiennych na ang.
Teraz mam problem  z metoda i classa, ale nie wiem o co chodzi. W konsoli jest taki błąd:
 
Kod:

View post on imgur.com


i

View post on imgur.com


plik ddt:

View post on imgur.com

Krzysiek KijasKrzysiek Kijas Personel odpowiedział 5 lat temu

To jest problem z otwieraniem pliku w test_data_loader.py – zamiast data_file = open(file_name, 'rb') powinno by data_file = open(file_name, 'r') z racji, że chcemy odczytać tekstową zawartość pliku a nie binarną 😉

AvatarŁukasz Błaszkowski odpowiedział 5 lat temu

usunąłem podwójną kropkę z pliku csv, a test nadal nie chodzi.

tu jest pokazane jak uruchamiam test:

https://imgflip.com/gif/30y7bl

a tu jest błąd z konsoli:

https://imgur.com/a/PJDXHAY

Krzysiek KijasKrzysiek Kijas Personel odpowiedział 5 lat temu

Pierwszy problem – plik csv ma dwie kropki w nazwie 😉
Inny problem jaki zauważyłem to PyCharm (i jego ułatwienie puszczania pojedynczych testów w postaci zielonej strzałki przy teście) nie współgra z pakietem ddt. Ale jeśli skorzysta się z:


if __name__ == '__main__':
     unittest.min()

to testy w danej klasie bez problemu działają z ddt.

AvatarŁukasz Błaszkowski odpowiedział 5 lat temu

już repo jest zaktualizowane o DDT:

https://github.com/lblaszkowski/MercuryTours_WSB/commits/master

teraz mam taki błąd

https://imgur.com/a/EXjNn8k

ps. konfiguracja jest ok. Testy są uruchomiane z unittest.

Krzysiek KijasKrzysiek Kijas Personel odpowiedział 5 lat temu

Hmm to wygląda wstępnie na jakiś problem z konfiguracją uruchomieniową w PyCharm ( https://jaktestowac.pl/lesson/pt1-mk2-03-konfiguracje-uruchomieniowe-w-pycharm/ ) . Spróbuj ją usunąć i ponownie uruchomić testy.
Jeśli to nie pomoże to czy posiadasz może ten kod na repo i czy można było go publicznie (lub mailowo) udostępnić (nie posiada żadnych wrażliwych danych, maili, haseł etc.)?

AvatarŁukasz Błaszkowski odpowiedział 5 lat temu

ok. działa .Dzięki za pomoc 🙂