Najnowsze wpisy »

I was looking for a solution for two things I didn’t know how to solve in RSpec:

  1. How to expect an exception?
  2. How to test a block?

Fortunately I found yesterday answer for my concerns. But before I show you examples, let’s assume we have following class to test.

class ObjectHelper
  def validate(o)
    raise "Object has no 'path' property!" unless o.respond_to?(:path)
  end

  def print_alphabet
    printer do
      ('a'..'z').each do |letter|
        print letter
      end
    end
  end

  def printer(&block)
    instance_eval &block if block
  end

  def print(value)
    puts value
  end
end

And our rspec skeleton:

require 'object_helper'

describe ObjectHelper do
  before(:each) do
    @object_helper = ObjectHelper.new
  end

  # here we place our tests

end

Expecting exceptions

If you want to test for the right exception and message you can use lambda’s, like this:

it "should validate object" do
  o = mock('Object')
  o.should_receive(:respond_to?).with(:path).and_return(true)
  @object_helper.validate(o)
end

it "should raise an exception because there is no 'path' property" do
  o = mock('Object')
  o.should_receive(:respond_to?).with(:path).and_return(false)

  lambda {
    @object_helper.validate(o)
  }.should raise_error("Object has no 'path' property!")
end

Testing a block

Here is the answer for testing a block

it "should print values" do
@object_helper.should_receive(:printer).and_yield do |block|
  block.should_receive(:print).exactly(26).times
end

 @object_helper.print_alphabet
end

15 czerwca wprowadziłem nasz Śląski JUG w temat messagingu na przykładzie Java Message Service. Poniżej znajduje się moja prezentacja, jak również workspace z Eclipse’a razem z demkami. Do uruchomiena potrzebny będzie Eclipse Jave EE Galileo SR2 lub nowszy. Opcjonalnie można doinstalować JBoss Tools. MDB uruchamiałem na serwerze JBoss AS 6.0.0.M3.

Ze swojej strony chciałem podziękować wszystkim za przybycie, wyrozumiałość z powodu braku rzutnika oraz pytania!

Pobierz workspace

Zbliża się  bardzo ciekawy tydzień obfitujący w wiele wydarzeń Javovych. Przygotowani?

NYAC / COOLuary

Już jutro odbędzie się pierwsza konferencja NYAC w Krakowie. Konferencja reklamowana jako inna – mająca na celu zbliżanie prelegentów i uczestników, gdzie sporo czasu przewidziane jest na rozmowy, a nie na bierne słuchanie. Zobaczymy, jestem ciekaw zarówno konferencji, prelegentów, jak i całej organizacji. Będziesz mnie tam mógł/mogła spotkać.

A dzień później – COOLuary!

JUDCon / JBoss World / Red Hat Summit

Już w następnym tygodniu rozpoczyna się w Bostonie kilka dni uczty JBossowej!

A oprócz JBoss World – w tym roku, po raz pierwszy, JBoss organizuje JUDCon. Jest to jednodniowa konferencja, na której można porozmawiać z developerami JBossa, a także posłuchać bardzo ciekawych prelekcji. Podstawowa idea tej konferencji to ‘przez developerów – dla deveoperów”, więc nie znajdziesz tam marketingu, tylko prawdziwe mięso :) Po konferencji, zabierz se sobą laptopa i pokoduj razem z chłopakami z JBossa do 2-ej w nocy! Na pewno będzie warto – szkoda, że mnie tam nie będzie. Ale nie bójcie się się – JUDCon będzie również w Europie!

Javarsovia

A w następną sobotę (26.06) należy uderzyć na Warszawę – Javarsowię 2010 czas zacząć! Tak się składa, że moja temat CirrAS – hackowanie w chmurach został zaakceptowany przez szanowną kapitułę i wystąpię na Javarsovii w roli prelegenta! W takim razie – do zobaczenia (sala 4, 10:15)!

Tak tak, i to zbliża się wielkimi krokami; to już 26 czerwca! Organizatorzy przygotowali taką fajną kartkę z kalendarza, aby nie zapomnieć :)

W odróżnieniu od zeszłego roku, tym razem przesłałem propozycje dwóch tematów na Call 4 Papers: TorqueBox – Ruby na sterydach oraz CirrAS – JBoss w chmurach. Zobaczymy, może coś przypadnie jurorom do gustu i pojawię się w Warszawie jako prelegent.

Dawno nic się nie działo na moim blogu, jak i na śląskiej scenie Javowej. Paru osobom z Silesia JUGu zaczęło to przeszkadzać. Efektem tego jest seria zaplanowanych prezentacji w naszym śląskim JUGu.

Tak się składa, że jestem pierwszą osobą, która zaprezentuje swój temat w tym roku. Będę mówił o planach JBoss’a związanych z cloud computing. Usłyszycie m.in. o projekcie CirrAS, który to umożliwia łatwe uruchomienie klastra serwerów JBoss w chmurach. Będzie również o projektach CoolingTower oraz BoxGrinder.

Serdecznie zapraszam wszystkich zainteresowanych w czwartek, 15-ego kwietnia 2010 do Auli E Wydziału Automatyki, Elektroniki i Informatyki Politechniki Śląskiej, w Gliwicach ul. Akademicka 2a Centrum Edukacyjno-Kongresowego Politechnik Sląskiej w Gliwicach przy ul. Konarskiego 18B na godzinę 18-ą!

W trakcie prezentacji zostanie rozlosowana darmowa wejściówka na konferencję GeeCON 2010!

Follow

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.