Cześć,
Chciałbym napisać unit testy dla asynchronicznego klienta MQTT. Załączam link z kodem dla zobrazowania:
godbolt
Klasa Connection docelowo będzie implementacją biblioteki mosquito. Założeniem jest, że klasa połączenia będzie miała wątek przetwarzający operacje asynchroniczne, stąd metoda Run() uruchamiana za wysłaniem requesta o połączenie (tutaj metoda Connect()). Metoda Client::Connect() musi być blokująca ze względu na dalsze wykorzystanie klienta w programie, jednak przez prawdopodobnie zrąbany design dla unit testów nie jestem w stanie wywołać
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Parseval
1. W ciele testu definiujesz promise.
2. Związany z nim future zwracasz z metody Connect().
3. Przy mockowaniu metody Run() musisz zdefiniować akcję która ustawi wartość promise.
  • Odpowiedz
Hey,

Ostatnio podczas pisania unit testów naszło mnie na refleksje i mam przeczucie, że spierniczyłem design projektu, ale do rzeczy. Stworzyłem strukturę gdzie foldery są podzielone na funkcjonalności, a w każdym takim folderze są pliki źródłowe i CMakeLists tworzący z nich bibliotekę, która linkowana jest do głównego targetu projektu. Załóżmy, że istnieje klasa MqttClient i klasa MqttConnection, która impelemntuje interfejs. W unit testach tworzę mocka tego interfejsu co jest oczywiste, ale pojawia
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

MqttClient i klasa MqttConnection, która impelemntuje interfejs. W unit testach tworzę mocka tego interfejsu co jest oczywiste, ale pojawia się problem, żeby do głównego targetu testów dolinkować wcześniej wspomnianą bibliotekę z uwagi na to, że ona kompiluje implementację tego interfejsu czego w testach być nie powinno.


@Parseval: nie ma czegoś takiego, że "w testach tego być nie powinno". Testujesz tak jak uważasz, że jest stosownie. Testowanie interfejsu, który w 100%
  • Odpowiedz
Nie, mam jeden folder tests pod którym mam pliki z testami do modułów i foldery z cmakami, które są okrojone o źródła implementacji interfejsów.


@Parseval: trochę słabo, testy powinny być przy module. Dobrą metryką modularności jest ile folderów muszę przenieść, żeby przenieść cały moduł do innego projektu. Jak wszystko siedzi w jednym folderze/podfolderach odpowiedzialnych za dany moduł to jest idealnie
  • Odpowiedz
Witam wykopki!
Czy testowaliście kiedyś bazę danych w testach jednostkowych/scenariuszach?
Chodzi o testowanie zapisywanych wartości w bazie po wykonaniu konkretnych operacji.
Na przykład koniec rundy - gracz powinien otrzymać hajs i musimy to sprawdzić.
Czy znacie jakieś narzędzie do tego?

PHPUnit
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@GeDox: W takim wypadku mockujesz funkcję zapisu do bazy danych i nie wykonujesz zapytania tylko sprawdzasz czy poprawny typ danych przyszedł i odpowiednie operacje się wykonały
  • Odpowiedz
@GeDox: Jeżeli chcesz sprawdzać bazę to musisz pisać zapytania ręcznie. Jeżeli nie chcesz pisać zapytań ręcznie to rozwiązanie podrzucił @Hepar. Mockowanie funkcji zapisu do bazy i sprawdzanie przed zapisaniem czy przyszło wszystko ok.
  • Odpowiedz
SZKOŁA TESTÓW JEDNOSTKOWYCH – Start Zapisów

Cześć! Wystartowały zapisy do programu Szkoła Testów Jednostkowych dla Młodszych Programistów C#/.NET. W tym filmie poznasz więcej szczegółów, opowiem o tym, czym w ogóle jest Szkoła Testów Jednostkowych. Dowiesz się również dla kogo jest to szkolenie i co otrzymasz po dołączeniu

Link do filmu: https://www.youtube.com/watch?v=2PCscTetk8M

#programowanie #programista #nauka #naukaprogramowania #programista15k #csharp #dotnet
kazik- - SZKOŁA TESTÓW JEDNOSTKOWYCH – Start Zapisów

Cześć! Wystartowały zapisy do...

źródło: comment_1629724755plieGjTFemGAooDVvPgysb.jpg

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

TEST DRIVEN DEVELOPMENT – Wprowadzenie do TDD na przykładzie w C#

Cześć! Właśnie pojawił się nowy odcinek na YouTube. Tym razem przedstawię temat TDD, czyli Test Driven Development w C#. Będzie bardzo praktycznie, zaimplementujemy prosty algorytm zgodnie z zasadami TDD (red, green, refactor). Miłego oglądania

Link: https://www.youtube.com/watch?v=Rqe7Y86sRJc

#programowanie #programista #nauka #naukaprogramowania #programista15k #csharp #dotnet #testyjednostkowe #
kazik- - TEST DRIVEN DEVELOPMENT – Wprowadzenie do TDD na przykładzie w C#

Cześć! ...

źródło: comment_16293789973uk4sScbQgf1aYw1sihlmI.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

TESTY INTEGRACYJNE W C# – Testujemy Operacje na BAZIE DANYCH

Cześć! Właśnie pojawił się nowy odcinek. Tym razem pokaże Ci jak testować operacje na bazie danych. Wprowadzę Cię w temat testów integracyjnych. Napiszemy też pierwsze testy integracyjne w C#. Miłego oglądania

Link: https://www.youtube.com/watch?v=TS_VOEksLxo

#programowanie #programista #nauka #naukaprogramowania #programista15k #csharp #dotnet #testyjednostkowe #unittest
kazik- - TESTY INTEGRACYJNE W C# – Testujemy Operacje na BAZIE DANYCH

Cześć! Właśn...

źródło: comment_1628774240lLNJl4ohCCI2sNLLZ8FYlr.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

TESTY JEDNOSTKOWE W C# – WPROWADZENIE do MOCKOWANIA DANYCH

Cześć! Nowy odcinek na kanale modestprogrammer na youtube jest już dostępny. W tym odcinku pokaże Ci jak pisać bardziej zaawansowane testy jednostkowe w C#. Dowiesz się w jaki sposób mockować dane i pozbywać się zewnętrznych zależności w kodzie. Miłego oglądania

Link: https://www.youtube.com/watch?v=RFWaFmin3H8

#programowanie #programista #nauka #naukaprogramowania #programista15k #csharp #dotnet
kazik- - TESTY JEDNOSTKOWE W C# – WPROWADZENIE do MOCKOWANIA DANYCH

Cześć! Nowy od...

źródło: comment_1628514549PusxfpCodGCK3pSw1wQiHM.jpg

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

TESTY JEDNOSTKOWE w C# w PRAKTYCE

Cześć! Nowy odcinek na kanale modestprogrammer na youtube jest już dostępny. W dzisiejszym odcinku napiszemy testy jednostkowe do algorytmu, który napisaliśmy kilka tygodni w aplikacji kółko i krzyżyk w C#. Miłego oglądania

Link: https://www.youtube.com/watch?v=3IOEcp0iiQY

#programowanie #programista #nauka #naukaprogramowania #programista15k #csharp #dotnet #testyjednostkowe #unittest
kazik- - TESTY JEDNOSTKOWE w C# w PRAKTYCE

Cześć! Nowy odcinek na kanale modestpro...

źródło: comment_16281699799WnuwGo9ye5ytBz7pMqp09.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

TESTY JEDNOSTKOWE w C# – 100% Tego, Co Musisz O Nich Wiedzieć

Cześć! Nowy odcinek na kanale modestprogrammer na youtube jest już dostępny. Tym razem przedstawię Ci szczegółowo czym są i jak pisać testy jednostkowe w C#. Przedstawię 5 najważniejszych punktów opisujących jak takie testy powinny wyglądać. Będzie bardzo praktyczne, napiszemy też kilka testów jednostkowych. Miłego oglądania

Link: https://www.youtube.com/watch?v=ZS95nEXU4-I

#programowanie #programista #nauka #naukaprogramowania #
kazik- - TESTY JEDNOSTKOWE w C# – 100% Tego, Co Musisz O Nich Wiedzieć

Cześć! Nowy...

źródło: comment_1627987528JKExlaQv31kn6Z5vRwKIB2.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć,
Jak piszecie unit testy pod soft, który jest dedykowany dla innej architektury? W moim przypadku robię development na Ubuntu z x86 pod płytkę ARMową z RTOSem, problem jest taki, że nawet chcąc oddzielić logikę pod unit testy od warstwy RTOSa, to i tak potrzebuję skompilować całość. Czy problem jest głównie w mojej architekturze kodu czy jest na to jakieś sprytne obejście?

#embedded #linux #cpp #
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy problem jest głównie w mojej architekturze kodu czy jest na to jakieś sprytne obejście?


@Parseval: w architekturze. Nie wydzieliłeś rzeczy specyficznych dla danej platformy. Potem robisz dwie implementacje tej części linux i rtos.
  • Odpowiedz
@Parseval: W architekturze. Kod powinienenś mieć napisany w taki sposób, żeby tylko najniższa warstwa zależała od systemu, a reszta była uniwersalna. Wtedy w testach to co jest "OS specific" mockujesz i jest bajka.

Plus dzięki takiej architekturze raz, że masz łatwiej przenieść kod na inny procesor/system, dwa, że możesz sobie napisać implementację tej najniższej warstwy pod Ubuntu (emulując oczywiście hardwarowe rzeczy), tym samym ułatwiając sobie cały development.
  • Odpowiedz
Mam problem ze zrozumieniem #kunit #unittest . Dokumentacja w zasadzie zaczyna się od uzywania ./tools/testing/kunit/kunit.py run. Ja nie widzę skąd to w ogole mam wziać.

Ogolnie to wydaje mi sie ze czegoś nie rozumiem od samego poczatku. Robie driver na X86_64 i builduje go na swojej maszynie. Czy w takim układzie mogę uruchomić te KUnit testy, czy muszę miec sciągniete zrodla kernela?

#linux #programowanie
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #typescript #unittest

Wyobraźmy sobie, ze jest klasa w Typescript o nazwie UserTypeGetter
Jest odpowiedzialna za połączenie z zewnętrznym api i pobraniem tablicy (json) z typami użytkowników.

Czy jeżeli napiszemy test do tej klasy który sprawdza czy zwrócona tablica posiada jakieś wyniki to czy wtedy czasem nie jest tak ze to już nie jest Test Jednostkowy ? (Bo opiera się na kodzie związanym z backendem)
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 0
@michal_szn: El classico - to zależy jeżeli przepychasz dane z backendu do frontu gdzies dalej to chyba nie ale jak robisz jakieś mapowanie/normalizacje danych to już tak. W takim wypadku być może rozwiązaniem jest wyekstrachowanie mappera i wtedy możesz go łatwo przetestować unitowo f(dane z API)=>dane które oczekuje front-end
  • Odpowiedz
@michal_szn nie no to zależy co nazywasz jednostką, ale masz rację że to już bardziej test integracyjny, mógłbyś do tej klasy dostarczyć jakoś klienta http i zwracać jakieś fejkowe wyniki, wtedy to będzie na pewno bliżej testu jednostkowego
  • Odpowiedz
Testy Jednostkowe Dla Młodszych Programistów .NET w Praktyce.

Zbieramy zapisy do 9-tygodniowego programu. W skład Szkoły Testów Jednostkowych wchodzi:
✅9-Tygodniowy Program Szkoła Testów Jednostkowych
✅Dostęp Do Aktualizacji Materiałów Oraz Nowych Materiałów
✅Dodatkowe Materiały Pomocnicze PDF
kazik- - Testy Jednostkowe Dla Młodszych Programistów .NET w Praktyce.

Zbieramy za...

źródło: comment_15965252671kdm2n3yfk31NpgUHvpnoH.jpg

Pobierz
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Pisz Niezawodny Kod - Testy Jednostkowe Dla Młodszych Programistów .NET

Już 3 sierpnia odbędzie się darmowe szkolenie online dla młodszych programistów C#/.NET na temat testów jednostkowych.

Poruszane tematy:
➡ 7 Zalet Pisania Testów Jednostkowych
kazik- - Pisz Niezawodny Kod - Testy Jednostkowe Dla Młodszych Programistów .NET

J...

źródło: comment_1595908845OwaKN2Hm8Gmi2QTvzmXqBP.jpg

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam paczke pythonową w której zrobiłem unittesty.
Paczka ma setup.py
mam zagwozdke czy te unittesty powinny importowac paczke juz po zainstalowaniu czy odnosic sie do bebechów?

from paczka import klasa
# czy
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć, dzisiaj na blogu artykuł, który może zainteresować młodszych programistów - w szczególności .NET, którzy chcą nauczyć się testować jednostkowo.

https://www.modestprogrammer.pl/jak-pisac-testy-jednostkowe-przyklad-testu-jednostkowego-w-dot-net-dla-poczatkujacych

#programista #programista15k #programowanie #testowanieoprogramowania #unittest
kazik- - Cześć, dzisiaj na blogu artykuł, który może zainteresować młodszych programi...

źródło: comment_1582605496C6zpzu11H6T2PSy3lO8oT7.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach