🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.ruby
4 messages
4 total messages Started by Jan Szumiec Tue, 26 Sep 2006 20:25
Testowanie zachowania
#205
Author: Jan Szumiec
Date: Tue, 26 Sep 2006 20:25
16 lines
1768 bytes
Hej,

Mam scenariusz, w którym chciałbym testować samo zachowanie klasy,
ponieważ przygotowanie fixtures jest czasochłonne (chodzi mi o
ActiveLDAP). Chciałbym sobie stworzyć mock, który będzie miał
dokładnie te same metody, co mój obiekt z LDAP'a - czy jest jakiś
sposób na skopiowanie samych metod z jednej klasy na inną? Wiem, że
jednym z rozwiązań jest przygotowanie modułu, w którym
znajdowałoby się całe interesujące mnie zachowanie, a następnie
dołączenie tego modułu do klasy. To jest jedno rozwiązanie, które
działa, ale ja chciałbym aby mój mock z automatu miał te same
metody co moja klasa źródłowa - zmieniałbym jedynie stan i
testował metody.

Pozdrawiam,
jasiek
Re: Testowanie zachowania
#206
Author: Przemysław Kowalczyk
Date: Tue, 26 Sep 2006 21:07
23 lines
1715 bytes
On Tue, 26 Sep 2006 22:25:56 +0200, Jan Szumiec <jan.szumiec@gmail.com>  
wrote:
>
> Mam scenariusz, w którym chciałbym testować samo zachowanie klasy,
> ponieważ przygotowanie fixtures jest czasochłonne (chodzi mi o
> ActiveLDAP). Chciałbym sobie stworzyć mock, który będzie miał
> dokładnie te same metody, co mój obiekt z LDAP'a - czy jest jakiś
> sposób na skopiowanie samych metod z jednej klasy na inną?

np. dziedziczenie (-:

> Wiem, że
> jednym z rozwiązań jest przygotowanie modułu, w którym
> znajdowałoby się całe interesujące mnie zachowanie, a następnie
> dołączenie tego modułu do klasy. To jest jedno rozwiązanie, które
> działa, ale ja chciałbym aby mój mock z automatu miał te same
> metody co moja klasa źródłowa - zmieniałbym jedynie stan i
> testował metody.

no tak, ale co te skopiowane metody mialyby robic?

pzdr
	szeryf
Re: Testowanie zachowania
#207
Author: Jan Szumiec
Date: Tue, 26 Sep 2006 22:07
22 lines
2149 bytes
Przemysław Kowalczyk wrote:
> On Tue, 26 Sep 2006 22:25:56 +0200, Jan Szumiec <jan.szumiec@gmail.com>
> wrote:
>
> > Wiem, że
> > jednym z rozwiązań jest przygotowanie modułu, w którym
> > znajdowałoby się całe interesujące mnie zachowanie, a następnie
> > dołączenie tego modułu do klasy. To jest jedno rozwiązanie, które
> > działa, ale ja chciałbym aby mój mock z automatu miał te same
> > metody co moja klasa źródłowa - zmieniałbym jedynie stan i
> > testował metody.
>
> no tak, ale co te skopiowane metody mialyby robic?
>

Mam trochę metod, które są 'pomocnicze' - nie wykonują żadnych
destrukcyjnych operacji na danych, tylko zwracają na przykład ilość
miejsc dostępnych w jakiejś sali (która to ilość wyliczana jest na
bieżąco). Mając mock, który zawiera te wszystkie metody, mógłbym
manipulować sobie jego stanem i testować same metody, czy zwracają
właściwe wartości.
Re: Testowanie zachowania
#208
Author: Przemysław Kowalczyk
Date: Wed, 27 Sep 2006 05:41
26 lines
1976 bytes
On Wed, 27 Sep 2006 00:07:48 +0200, Jan Szumiec <jan.szumiec@gmail.com>  
wrote:
>>
>> > Wiem, że
>> > jednym z rozwiązań jest przygotowanie modułu, w którym
>> > znajdowałoby się całe interesujące mnie zachowanie, a następnie
>> > dołączenie tego modułu do klasy. To jest jedno rozwiązanie, które
>> > działa, ale ja chciałbym aby mój mock z automatu miał te same
>> > metody co moja klasa źródłowa - zmieniałbym jedynie stan i
>> > testował metody.
>>
>> no tak, ale co te skopiowane metody mialyby robic?
>>
>
> Mam trochę metod, które są 'pomocnicze' - nie wykonują żadnych
> destrukcyjnych operacji na danych, tylko zwracają na przykład ilość
> miejsc dostępnych w jakiejś sali (która to ilość wyliczana jest na
> bieżąco). Mając mock, który zawiera te wszystkie metody, mógłbym
> manipulować sobie jego stanem i testować same metody, czy zwracają
> właściwe wartości.

no to moze odziedzicz mocka po tej klasie i nadpisz te "destrukcyjne"  
metody? to chyba najprostsze rozwiazanie?

pzdr
	szeryf
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