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:
tu jest plik.csv
a tu wygląd całego testu_logowanie
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
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
😉
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:
i
plik ddt:
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ą 😉
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:
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.
już repo jest zaktualizowane o DDT:
https://github.com/lblaszkowski/MercuryTours_WSB/commits/master
teraz mam taki błąd
ps. konfiguracja jest ok. Testy są uruchomiane z unittest.
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.)?