Aktywne Wpisy
Zarzutkkake +450
Ale jak to podwójnie zapłacić? Co wy rasiści? Nie wiecie, że plus size to zaleta? Mam chorą tarczyce. Jaki potrójny hepi meal? Kamery nie pokazuja prawdy. To jest problem tych ludzi, że sie tu nie zmieszczą! LUDZIE DAJCIE MI SPOKOJNJE ŻYĆ JA WCZORAJ WŁOSY FARBOWAŁAM I PAXNOKCIE A WY MI MÓWICIE ŻE JA GRUBA!
#bekazgrubasow #humorobrazkowy
#bekazgrubasow #humorobrazkowy
urarthone +36
#garscnewsow i lista wołania
Cześć, zauważyłem, że ze starych list sporo kont jest albo nieaktywnych albo pobanowanych więc będę tworzył od nowa. Ludzie, którzy w ostatnich dniach się odezwali, że chcą być wołani z automatu przeniosę, a resztę proszę o wiadomość pod tym postem ????????????
Cześć, zauważyłem, że ze starych list sporo kont jest albo nieaktywnych albo pobanowanych więc będę tworzył od nowa. Ludzie, którzy w ostatnich dniach się odezwali, że chcą być wołani z automatu przeniosę, a resztę proszę o wiadomość pod tym postem ????????????
Napisałem mój pierwszy, bardzo prosty unit test w #python wyglądający następująco:
https://pastebin.com/4X74KQZL
Tu pojawiły mi się w sumie 2 pytania:
1. Jak powinienem przekazać do testu argument dictionary? Powinna być to lista stworzona na podstawie odczytu z pliku tekstowego.
2. Jak właściwie powinna wyglądać dobra struktura projektu? W moim przypadku binarysearchby_distance znajduje się w osobnym pliku, sama, bez żadnej klasy. Lepiej byłoby umieścić ją w klasie jako metoda statyczna, zostawić jak jest czy jeszcze co innego? Są jakieś dobre poradniki apropo dobrej struktury projektu?
#kiciochpyta #programowanie
1. unit test nie powinien czytać żadnego pliku. Po prostu stwórz to dictionary wewnątrz testu i przekaż do
binary_search_by_distance
. Patrząc na taki test powinieneś widzieć od razu co wchodzi do testowanej funkcji/obiektu a co wychodzi. Jak chcesz przetestować kilka opcji (ma znaleźć/nie ma znaleźć/co zrobi jak None), to tworzysz kilka testów. Jeśli testy okażą się praktycznie takie same a nie chcesz się powtarzać to zainteresuj się testami parametrycznymi.2.
@MagisterWiadromonter: Normalnie utwórz sobie dane w metodzie testowej i przekaż do SUTa. Staraj się, żeby dane te były jak najmocniej minimalistyczne, precyzyjne, pokazujące konkretnie co testujesz, bez zbędnych śmieci. Dzięki temu test będzie krótki, łatwy do zrozumienia i masz mniejszą szansę na false–positive'y.
Jak mimo wszystko chcesz dużo danych testowych, to oczywiście możesz
@MacDada: Kiedy lepiej jest zastosować OOP a kiedy lepiej jednak zrobić to po prostu funkcyjnie?
@luzny_lori: Nie do końca rozumiem, chcesz stworzyć jedną która będzie generowała inne?
@MagisterWiadromonter: Na początek nie myl funkcyjnego z proceduralnym ;-)
Każdy większy projekt robi się OOP lub przynajmniej z elementami OOP.
Jak masz coś małego, to „nobody cares” jak to zrobisz (może być i proceduralnie).
Funkcyjne ma świetne zalety jeśli chodzi o wielowątkowość, niemutowalność, etc. Zainteresuj się jak już ogarniesz OOP.
with open("dict.txt") as file:
dictionary = file.readlines()
self.dictionary = [x.strip() for x in dictionary]
czy może lepiej stworzyć klasę z takim konstruktorem przyjmującym ścieżkę jako parametr i przenieść do niej moją funkcję, już bez parametru, tylko operującej na tablicy wczytanej w konstruktorze?
def test_changed_letter(self):
dictionary={'bla':'blabla', 'cotamchcesz':'dajesztutaj', 'ananas':'nawet nie spojrzal'}
self.assertEquals(binary_search_by_distance("ananos", dictionary), True)