Język C++ nie był by sobą, gdyby nie szablony. Kiedy chcemy napisać jakiś szablon klasy lub funkcji, która manipuluje zasobem, chcielibyśmy dać jej użytkownikowi możliwość zdecydowania, czy zasób ten daje nam na wyłączność, czy musimy go sobie skopiować. To zadanie ułatwiać ma nam uniwersalna referencja, która jest domeną wyłącznie funkcji szablonowych.... więcej
W poprzednim wpisie wyjaśniłem podstawowe pojęcia, którymi operujemy podczas korzystania z GoogleMock. Dotknęliśmy tego tematu w sposób wyłącznie teoretyczny. Tematem dzisiejszego wpisu jest podjęcie kilku praktycznych przykładów wykorzystania zdobytej wcześniej wiedzy.... więcej
A my dalej lecimy z tematem testowania! :) W poprzednim wpisie omówiliśmy sobie różnice między oczekiwaniami oraz zachowaniami. Jednak, aby móc dobrze testować, musimy poznać wszystkie mechanizmy - dowiedzieć się, czym są i kiedy się przydają. W dzisiejszym wpisie podejmiemy próbę wyjaśnienia trzech podstawowych pojęć: Cardinality, Matcher oraz Action.... więcej
W tym artykule przyjrzymy się nowej funkcjonalności do konwersji liczb na tekst z C++17. Za pomocą nowych, niskopoziomowych metod można w łatwy sposób zamienić dowolną liczbę na postać znakową i w dodatku mieć najlepszą z możliwych wydajności!... więcej
Być może, wydaje Ci się, że temat tego postu jest bardzo podstawowy i nie warto poświęcać na niego czasu. Częściowo jest to prawda - treść dotyczy podstaw języka C++ - jestem jednak pewien, że znajdziesz tu czytelniku rzeczy, które będą dla Ciebie zupełnie nowe, a także dowiesz się o wielu niezdefiniowanych zachowaniach. Zapraszam do lektury!... więcej
Jak zdążyliście już zauważyć w poprzednich wpisach, pisanie testów polega na definiowaniu oczekiwań względem kodu. O ile działając w GoogleTest oczekiwać będziemy, że odpowiednie miejsca w pamięci po wykonaniu funkcji będą miały określoną wartość (tak tak, wyjątki to też pewnego rodzaju wartość w pamięci), to pracując z GoogleMock będziemy definiowali swoje oczekiwania względem uruchamianego wewnątrz jednostki kodu. I właśnie o tym będzie dzisiejszy wpis, na który serdecznie zapraszam! :)... więcej