BDD para IPad e IPhone com Kiwi
Quero apresentar uma biblioteca para testes unitarios em Objective-c chamada Kiwi.
Esta lib é bem simples de ser usada e para quem vem do Ruby vai perceber que ela é bem parecida com o Rspec como vocês podem ver no código abaixo
Ruby - Rspec
describe Person do
it "should have a name" do
person = Person.new
Person.name.should == "FerBass"
end
end
ObjC - Kiwi
describe(@"Person", ^{
it(@"should have a name", ^{
id person = [Person person];
[[person.name should] equal:@"FerBass"];
});
});
Reparem a semelhança entre o teste feito com Rspec e o código testando em Kiwi. O mais legal é que podemos utilizar de mocks, stubs, collections bem como estamos acostumados a fazer com RSpec, por exemplo
id carMock = [Car mock];
[[carMock should] beMemberOfClass:[Car class]];
[carMock shouldReceive:selector(currentGear) andReturn:theValue(3)];
[[theValue(carMock.currentGear) should] equal:theValue(3)];
Uma das coisas importantes é que classe spec do Kiwi é construida encima do SenTestingKit que faz parte do SDK do IPhone e Ipad, que possibilita integração com o X-Code sem necessidade de instalação ou configuração de scripts.
Fica ai a dica para quem está interessado a fazer testes em seu código ObjC de maneira mais pratica, não deixe de ver a documentação oficial que é bem completa.
Github
Documentação Oficial