Miesięczne archiwum: Kwiecień 2013

Mockito – „łapiemy” argumenty wywołania metod

Temat Mockito był już na tym blogu poruszany kilkakrotnie (np. TU i TU). Opisywałem jak można wykorzystać to narzędzie do mockowania oraz weryfikacji wywołania metod. W tym drugim przypadku często zachodzi także konieczność wykonania dodatkowych asercji na argumencie weryfikowanej metody. Aby upewnić się, że program działa poprawnie, oprócz samego faktu wykonania metody sprawdzamy, czy jej argumenty mają poprawne wartości pól. Pomocna w takiej sytuacji jest klasa ArgumentCaptor będąca częścią Mockito. Poniżej znajdziecie przykładowy test, który z niej korzysta.
 

public class SampleTest
{
  private Canvas canvas;
  private CanvasPainter painter;

  @Before
  public void setUp() throws Exception
  {
    canvas = mock(Canvas.class);
    painter = new CanvasPainter(canvas);
  }

  @Test
  public void testDraw() throws Exception
  {
    Point point = new Point(1, 2);
    painter.addPoint(point);

    painter.draw();

    ArgumentCaptor captor = ArgumentCaptor.forClass(Point.class);
    verify(canvas, times(1)).draw(captor.capture());

    Point captured = captor.getValue();
    assertThat(captured.getX(), is(1D));
    assertThat(captured.getY(), is(2D));
  }
}

 
Kod jest chyba na tyle prosty, że nie wymaga dłuższego komentarza. Sprawdzamy w nim, czy wykonanie metody draw() klasy CanvasPainter powoduje wykonanie metody draw() klasy Canvas dla każdego punktu, który został dodany przy pomocy metody addPoint(). Prócz samego wywołania chcemy też sprawdzić, że przekazany do metody draw() klasy Canvas obiekt ma odpowiednie wartości pól x i y.

Przygotuj się na sukces – wspieramy Atmosphere

AtmosphereDobrze prosperujący serwis internetowy jest marzeniem każdego przedsiębiorcy. Praktycznie codziennie swoją premierę mają nowe startupy bazujące na mniej lub bardziej udanych pomysłach, których twórcy chcą podbić wymagający, internetowy rynek. Często jednak zapomina się, że nawet bardzo udany start i fenomenalna idea, stojąca za projektem, nie są gwarantami sukcesu. Wraz z rosnącym zainteresowaniem serwisem, zwiększają się wymagania co do jego funkcjonowania. W czasie początkowych faz życia projektu, od jego startu, poprzez dynamiczny rozwój, aż po systematyczny wzrost popularności, musimy zagwarantować, że działa on szybko, stabilnie i niezawodnie. Realizacja tych celów wymaga sporych ilości specjalistycznej, technicznej wiedzy. Na szczęście są miejsca, gdzie osoby odpowiedzialne za tworzenie największych serwisów chętnie dzielą się swoimi doświadczeniami. Jednym z takich miejsc jest konferencja Atmosphere, którą mamy przyjemność wspierać.

Impreza odbędzie się w dniach 13-14 maja w Concordia Design w Poznaniu. Na chwilę obecną swoją obecność potwierdzili m.in. Brian McCallister, Paul Hammond, Jonathan Snook, Lorenzo Alberton oraz Adam Tarnowski. Zapowiada się ciekawie, szczególnie że wspomniani prelegenci są osobami dobrze rozpoznawalnymi w środowisku i posiadają sporą praktyczną wiedzę. Za organizację konferencji odpowiada fundacja Proidea, która wspierana jest przez Allegro Group, więc jesteśmy spokojni o przebieg oraz warstwę merytoryczną Atmosphere.

Konferencja została podzielona na dwie ścieżki tematyczne:

  • DevOps – poświęcona różnorodnym zagadnieniom związanym z administracją systemami oraz infrastrukturą sieciową
  • Devs – skupiająca się na programowaniu, problemach skalowalności oraz wykorzystaniu technologii mobilnych

Nas oczywiście bardziej interesuje ta druga :) Liczymy również na jak największą liczbę tematów, które omawiać będą wykorzystywanie technologii opartych o JVM do budowy nowoczesnych oraz skalowanych serwisów.

Jak zwykle możecie liczyć na wyczerpującą relację z konferencji. Mamy dla Was również kody rabatowe upoważniające do 10% zniżki podczas rejestracji. Aby z nich skorzystać wprowadźcie kod javablog_10 na formularzu rejestracyjnym, znajdującym się pod adresem http://atmosphere-conference.com/registration.

Więcej informacji znajdziecie na oficjalnej stronie konferencji: http://atmosphere-conference.com/

Kreujemy przyszłość IT – poznaj możliwości JVM

Wszystkich zainteresowanych możliwościami jakie daje Java Virtual Machine gorąco zapraszamy na wykład Piotrka, który będzie miał miejsce na zbliżającej się konferencji „Przyszłość w IT”. Podczas prezentacji zatytułowanej „Java Virtual Machine – budowa, możliwości, metody optymalizacji” poznasz najważniejsze składowe JVM, metody monitorowania aplikacji oraz sposoby na poprawę wydajności tworzonych rozwiązań. Konferencja odbędzie się już w najbliższą sobotę (06.04.2013) w krakowskim hotelu Sympozjum (ul. Kobierzyńska 47). Zapraszamy do rejestracji – zostały ostatnie miejsca!