🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

6 total messages Started by Borneq Thu, 10 Dec 2020 19:00
Klasa mock
#310345
Author: Borneq
Date: Thu, 10 Dec 2020 19:00
16 lines
1498 bytes
Na razie robię tak:
- w cmake dodaję definicję:
target_compile_definitions(test PUBLIC COMPILE_UNIT_TESTS)

wymieniam header od klasy na mocka, zostawiam cpp gdzie moddyfikuję
#ifdef COMPILE_UNIT_TESTS
#include "mockKontrolkah"
#else
#include "mojaKontrolka.h"
#endif

i za pomocą #ifndef COMPILE_UNIT_TESTS wyrzucam rzeczy, które związane 
są np. z osługą eventów, oczywistościm których nie testuję.
Testuję metody związabne z logiką

Czy można jeszcze inaczej?
Re: Klasa mock
#310350
Author: heby
Date: Thu, 10 Dec 2020 21:44
4 lines
1157 bytes
On 10/12/2020 20:00, Borneq wrote:
> Czy można jeszcze inaczej?

Używając gtest i pisząc kod przyjazny testowaniu?
Re: Klasa mock
#310346
Author: Wojciech Muła
Date: Thu, 10 Dec 2020 23:15
22 lines
1924 bytes
On Thursday, December 10, 2020 at 8:00:57 PM UTC+1, Borneq wrote:
> Na razie robię tak: 
> - w cmake dodaję definicję: 
> target_compile_definitions(test PUBLIC COMPILE_UNIT_TESTS) 
> 
> wymieniam header od klasy na mocka, zostawiam cpp gdzie moddyfikuję 
> #ifdef COMPILE_UNIT_TESTS 
> #include "mockKontrolkah" 
> #else 
> #include "mojaKontrolka.h" 
> #endif 
> 
> i za pomocą #ifndef COMPILE_UNIT_TESTS wyrzucam rzeczy, które związane 
> są np. z osługą eventów, oczywistościm których nie testuję. 
> Testuję metody związabne z logiką 
> 
> Czy można jeszcze inaczej?

Można nie mieć logiki w kontrolce.


w.
Re: Klasa mock
#310347
Author: Borneq
Date: Fri, 11 Dec 2020 08:07
8 lines
1339 bytes
On 12/11/20 12:15 AM, Wojciech Muła wrote:
> Można nie mieć logiki w kontrolce.

Zawsze zostaje Render() wołane z OnPaint() gdzie prezentuję na ekran 
wewnętrzne dane.

googletest ma katalogi googletest i googlemock ; do tej pory korzystałem 
tylko z tego pierwszego.
Re: Klasa mock
#310348
Author: Borneq
Date: Fri, 11 Dec 2020 08:16
12 lines
1532 bytes
On 12/11/20 9:07 AM, Borneq wrote:
> On 12/11/20 12:15 AM, Wojciech Muła wrote:
>> Można nie mieć logiki w kontrolce.
> 
> Zawsze zostaje Render() wołane z OnPaint() gdzie prezentuję na ekran 
> wewnętrzne dane.
> 
> googletest ma katalogi googletest i googlemock ; do tej pory korzystałem 
> tylko z tego pierwszego.

Zresztą logikę można przenieść do innej, mniejszej klasy, która będzie 
używana w Render()
Re: Klasa mock
#310349
Author: Borneq
Date: Fri, 11 Dec 2020 08:37
6 lines
1421 bytes
On 12/11/20 9:16 AM, Borneq wrote:
> Zresztą logikę można przenieść do innej, mniejszej klasy, która będzie 
> używana w Render()

Przeniosłem, tylko logikę testuję. Nawet nie potrzeba żadnego #ifdef
Tylko chciałem sie nauczyć jak działac z mock z GoogleTest/GoogleMock
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads