Przyczepił się do mnie w robocie techlead javowy (w projekcie pythonowym), że moje testy jednostkowe nie testują logiki biznesowej, ale jednocześnie nie chce mi powiedzieć ani pokazać o co mu dokładnie chodzi.
Według mnie testy jednostkowe mają pokazać, że dana funkcja działa tak jak mi się wydaje że działa.

Jak testuję metody repozytorium to mockuje sesję, sprawdzam czy gdy wrzucę x to wyjdzie y, a czy jak wrzucę coś z czapy lub sesja zgłosi wyjątek, to czy zostanie on obsłużony, dalej przechodzę do serwisów no i tam mockuje repozytoria i tak samo jak w przypadku repozytoriów sprawdzam czy jak metoda x zgłosi wyjątek to zostanie to obsłużone, test z wrzuceniem złych danych i ten z poprawnymi. Analogicznie z warstwą kontrolerów.

Nie testowałem jakoś dużo, więc zakładam, że mogę się mylić. Czy moje myślenie o testach jednostkowych jest według mnie prawidłowe?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Ignac96: masz racje. Testy jednostkowe są od sprawdzania prawidłowego przyjmowania i zwracania wartości (nwm, bez jakiś krzaków itp.) i prawidłowej obsługi wyjątków. To testy integracyjne są od weryfikacji od strony biznesowej. Choć to też pewnie bardzo dużo zależy od struktury organizacyjnej.
  • Odpowiedz
@Ignac96: Testy jednostkowe testują jednostkę i nic poza tym. Chociaż to co opisujesz nie brzmi jak testy jednostkowe, tylko integracyjne.

moje testy jednostkowe nie testują logiki biznesowej

Nie do końca to rozumiem, nawet mała funkcja może mieć w sobie logikę biznesową.
  • Odpowiedz
To zalezy co chcesz zrobic. Metoda keys() zwraca view object ktory np. pozwala manipulowac elementami slownika podczas iteracji, czego nie mozesz zrobic podczas iteracji po "golym" slowniku.

Tak wiec jesli nie zamierzasz nic modyfikowac (albo chcesz miec pewnosc ze nic ci twojego ficta nie modyfikuje) mozesz iterowac po dict'cie bezposrednio. Jesli jednak chcesz modyfikowac go w czasie iteracji - uzyj keys().
  • Odpowiedz
  • 1
Zycie nauczylo mnie ze w przypadku pythona nie warto zdawac sie na intuicje ;) chyba ze masz ta intuicje wycwiczona w kierunku pythona. Wszystkie metody wbudowane sa wielokrotnie szybsze niz budowanie ich odpowiednikow w golym pythonie (np. list comprehension vs petla + reczne wypelnianie listy; petla for jest szybsza niz while z incrementacja warunku) - poniewaz pod "maska" pythona siedzi sobie C++ ktory pokazuje na co go stac. W tym przypadku tez.
  • Odpowiedz
Część,
Wiem że kryzys w branży itd. ale chciałbym zająć się analityka danych + ML z pythonem. I moje pytanie jest czy innowacyjny pracownik w takiej branży jest jakkolwiek ceniony? Czy w korpoit raczej są odgórnie narzucone procesy bez możliwości zmiany?

Dążę do tego że gdzie nie pracowałem to usprawniałem procesy. Nawet w takich mniejszych korpo po paruset pracowników biurowych. Począwszy od automatyzacji do rozpisywania procesu albo wprowadzania nowego oprogramowania. Robiłem to głównie z lenistwa ale jednak mega dużo czasu zaoszczędziłem dla firm.

Tylko że w każdym przypadku moje stanowisko absolutnie nie miało nic z tym wspólnego a była to moja inicjatywa gdy widziałem że muszę robić coś bez sensu.
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

✨️ Obserwuj #mirkoanonim
Jakiego języka warto się uczyć żeby wyjechać na #emigracja z tego grajdołka i pracować jako Business Analyst?
Zawsze podobały mi się języki germańskie i skandynawskie. Niemcy/Holandia chyba dobre kierunki? a może Francja lub jakaś Norwegia? Jest tam praca i spoko się żyje?


mirko_anonim - ✨️ Obserwuj #mirkoanonim
Jakiego języka warto się uczyć żeby wyjechać ...

źródło: 4c111e99fb8c92211c5b1211e35353476d44d8ef_work-in-the-netherlands-1-resized

Pobierz
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mirko_anonim: zobacz jaki kraj Cię interesuje, poprzeglądaj na LinkedIn jakie języki wymagają i działaj. Nie ma uniwersalnej recepty.

W krajach niemieckojęzycznych raczej bez niemieckiego ani rusz. Podobnie we Francji czy we Włoszech, ani rusz bez języka urzędowego.

Wyłącznie z angielskim da się, nie jest to wykluczone, ale będzie znacznie mniej ofert, wyłącznie z międzynarodowych korporacji.

Mieszkam w WKL, gdzie jest duży miks narodowości i z samym angielskim da się normalnie
  • Odpowiedz
@emesi: mylisz pojęcia chłopie

jedyne słuszne zastosowanie klas w tym przykladzie to byłoby stworzenie klasy Sala, której instacjami byłyby obiekty S1, S2, etc. które symbolizowałyby poszczególne sale w kinie, taka klasa miałaby pola Nazwa, Film, IloscMiejsc które symbolizowałyby poszczegolne parametry takiej sali, a do operacji zwiazanych z ta sala (rezerwacja miejsca, wyswietlenie filmu, kupno biletu etc) służyłyby odpowiednie metody, czyli funkcje przypisane do danej klasy
  • Odpowiedz
#python #django #programista15k
Chce zmigrowac z JSa na Pythona :) Ewentualnie dłubać coś przy okazji w JSie.
Pisałem proste skrypty Jenskinsowe w Pythonie już, ale nic poważnego raczej.
Polecicie ciekawy kursik który od razu zahaczy o Django? Oczywiście łatwo znaleźć byle co, ale może macie coś już sprawdzonego :)
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

✨️ Obserwuj #mirkoanonim
Cześć,

Potrzebuję stworzyć stronę/aplikację w Django i chciałem zorientować się jaki może być orientacyjny koszt takiej aplikacji. Przewidywane funkcjonalności:

- Posty tworzone przez API (np zawierające tytuł, krótki opis (na stronę główną) i treść artykułu, tag)
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czemu z góry narzucasz technologię wykonania jak tak na prawdę w gestii twojego zainteresowania powinny być tylko funkcjonalności?
  • Odpowiedz
@dr3vil: bo później będzie musiał to utrzymywać

@mirko_anonim za mało informacji, pod "Połączenie tego z jakimś frontend" może kryć się bardzo dużo. no i kwestia skali, na ile to ma być użytkowników? na 100, na 100 tys?
  • Odpowiedz
#csharp #ai #llama #openaai #python

Cześć mam pytanko do osób które ogarniają AI ?

Ogarniam c# w pracy a po godzinach chciałbym nauczyć się AI. Chciałbym skorzystać z darmowego modelu i nauczyć go odpowiadać ja pytanie jak ChatGPT tylko ma być skupiony na jednej fikcjonalności i opierać się na jednym typie danych.

Czy da radę to ogarnąć w c# czy lepiej od
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 1
@zibizz1 chciałbym napisać generator bajek w oparciu o jakiś zbiór bajek.Tylko z tego co rozumiem to llama ma w modelu takie dane i potrafi wygenerować bajkę .Czy źle rozumiem? Chciałbym zrobić zapamiętywanie kontekstu że do bajki x ogarnie kolejne rozdziały pamiętając co się działo wcześniej.

W sumie jest coś już coś takiego novel.ai ale w ramach nauki chciałbym zrobić osobie jakiś projekt i nie wiem od czego zacząć.
  • Odpowiedz
Mam problem z kodowaniem plików tekstowych. Wykorzystałem #chatgpt, żeby mi zrobił skrypt do tworzenia pliku z dwóch różnych plików. Konkretnie kopiuje kolejne wiersze z pierwszego pliku, zamieniając 2, 4 i 5 kolumnę na kolumnę z drugiego pliku.
Pliki są plikami z kodami z dwóch różnych kas fiskalnych sharp. Nie mają rozszerzenia txt ale w notatniku++ normalnie się odczytują jako pliki z tekstem. Problem polega na tym, że pliki zawierają
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

chciałbym połączyć się z API Polly. Zeby wyciągnąć tam pewne dane związane z używanym chatbotem na jednej ze stron. Powoli się uczę #python więc myślałem żeby właśnie tego narzędzia użyć, ale przyznam, że instrukcje na stronie https://docs.polly.help/integrations/a/analytics-api-examples nie są dla mnie w 100% jasne. Poleci ktoś może jakieś materiały które pomogą zrozumieć wszystkie parametry które muszę opisać w requescie do graphql API?
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@SuperGosc11: użyj biblioteki requests, I poczytaj w jakiś sposób za jej pomocą wywoływać API. Potem sprawdź przykładowe wywołania na internecie. W ostateczności powiedz chatgpt żeby napisał Ci wywołanie, ale tak się nie nauczysz niczego.
  • Odpowiedz
Robię apkę w pythonie, która scrapuje jedną ze stron. Za zgodą admina, ale rzucił we mnie reCAPTCHA i napisał, żebym ograniczył liczbę logowań i korzystał z ciasteczka, które jest ważne przez godzinę.
Do logowania i poruszania się po stronie używam Mechanize. Wyczytałem, że Mechanize automatycznie przechowuje ciasteczka. Apkę mam napisaną obiektowo i rzeczywiście w każdej klasie oddzielnie inicjowałem mechanize.browser() logując się ponownie. Wymyśliłem, że zaloguję się raz, a potem będę starał się utrzymać tę sesję przy życiu odwołując się do niej z każdego miejsca apki, o tak:
https://pastebin.com/0uwyMJLZ
Pytania:
1. Czy to w ogóle prawidłowe podejście?
2. Jeśli tak, to podpowiecie może sposób w jaki najlepiej by to było przetestować, zanim napiszę adminowi, że zmieniłem poprawiłem i żeby zdjął reCAPTCHE?
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Drmscape2:
1. Wg mojego ograniczonego doświadczenia prawidłowe (tzn sam bym zrobił tak samo/podobnie używając selenium), chociaż metoda login będzie próbowała zwrócić browser nawet jak będziesz miał błąd logowania i tutaj sie wywali całość.

Zastanowił bym się nad dodatkową klasa Browser gdzie ogarniesz logowanie, sprawdzanie czy dalej jesteś zalogowany czy nie, ewentualne ponowne logowanie w razie konieczności itp.

2. Puść skrypt na kilka godzin i zobacz czy sie wykrzaczy bez ponownego logowania
  • Odpowiedz
Jak w szczerych, krótkich słowach działa moduł/paczka w #python ?

Bo robiłem coś z unitest, to mi ciągle nie znajdował czegoś, musiałem uprościć strukture katalogów. Dodałem _init_.py w katalogach, żeby Python rozumiał go jako moduł.

Ogólnie: gdzie mogę o tym poczytać?

#programowanie #programista15k
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pyroxar: moduł to po prostu plik z kodem, pakiet do katalog z modułami.

Bo robiłem coś z unitest, to mi ciągle nie znajdował czegoś


@pyroxar: bo python ma to zrobione źle i trzeba nabrać intuicji, żeby odnaleźć się w tym bagnie
  • Odpowiedz