Wpis z mikrobloga

Dlaczego?


@Zelber:
Trywialne mockowanie.
Nie tylko mocki, ale również stuby i spy.
Konstrukcja "where:" bardzo ułatwiająca pisanie testów. Konstrukcja bardzo zgrabna, zwinna i zwięzła (np. w przeciwieństwie, kiedy chciałoby się to zrobić w JUnit).
Zamiast tego jest ScalaTest lub Specs2, które potrafią to samo co Spock, ale robią to w statycznie typowany sposób.


@zajety_login:
OK, OK.
Tych dwóch (ScalaTest i Specs2) nie znam, ale zgaduję, że skoro są statycznie typowane, to podobnie jak statycznie typowany JUnit, nigdy nie będą tak zwinne jak frameworki oparte na językach dynamicznie typowanych (np. Spock).
@Adaslaw:

Androida? Android to system operacyjny, a ja tu mówię o językach programowania i frameworkach do testowania.

To kodu pisanego na androida już się nie testuje? ( ͡° ͜ʖ ͡°)
Pytanie o to czy/jak działają Instrumentation tests wykorzystujące androidowe zależności jest tutaj kluczowym pytaniem.
Pytanie o to czy/jak działają Instrumentation tests wykorzystujące androidowe zależności jest tutaj kluczowym pytaniem.


@Zelber: Nie piszę na Androida dlatego Ci nie odpowiem :(
Może ktoś inny coś w tym temacie dopisze.
Różnica między ScalaTest/Specs2 a JUnit jest ogromna.


@zajety_login:
Bardziej interesowałoby mnie wykazanie, że ScalaTest/Specs2 potraf się zbliżyć do zwinności Spocka :)
JUnit nie za bardzo mnie interesuję skoro jest Spock.
@Adaslaw: to zaleta groovego a nie Spocka. Druga sprawa to właśnie groovy jest głównym przeciw dla Spocka, dynamiczne typowanie potrafi zgubic, utrzymywanie w projekcie dwóch różnych języków też potrafi być problematyczne. U mnie w pracy już jest zakaz dodawania nowych testów w groovym właśnie dlatego że owszem napisanie testów w nim jest prostsze, natomiast utrzymanie już nie. Najprostszy przykład: Część testów potrafi niewysypac się przy kompilacji po zmianie typu. A testy
to zaleta groovego a nie Spocka.


@PoteznyMagWody:
Po części prawda. Ale nie do końca.
Spock to DSL ponad Groovim.

Część testów potrafi niewysypac się przy kompilacji po zmianie typu.


@PoteznyMagWody:
Jeśli faktycznie chcemy, aby zmiany typów były wyłapywane w fazie kompilacji testów grooviowych, to przecież (w ty newralgicznych fragmentach) można wymusić tym w Groovim (na etapie deklaracji zmiennej / pola).
Sam tak czasami robię, ale z innego powodu. W moim
Nikt piszący z własnej woli w scali nie napisze z własnej woli ani pół linijki grooviego (z małym wyjątkiem dla jenkinsa i prostych skryptów). Once you go typed you never go back.