🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

6 total messages Started by Borneq Thu, 10 Dec 2020 20:00
Klasa mock
#291707
Author: Borneq
Date: Thu, 10 Dec 2020 20:00
15 lines
480 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
#291709
Author: =?UTF-8?Q?Wojcie
Date: Thu, 10 Dec 2020 15:15
24 lines
748 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
#291708
Author: heby
Date: Thu, 10 Dec 2020 22:44
3 lines
118 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
#291711
Author: Borneq
Date: Fri, 11 Dec 2020 09:07
7 lines
274 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
#291712
Author: Borneq
Date: Fri, 11 Dec 2020 09:16
11 lines
424 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
#291713
Author: Borneq
Date: Fri, 11 Dec 2020 09:37
5 lines
284 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