Minitest e Ruby 1.9
Muito tem se falado sobre Ruby 1.9 mas até agora não ouvi ninguém falando nada sobre o Minitest.
Vejam a descrição da gem (traduzida):
“minitest/unit é um substituto pequeno e rápido para o gigante e lento test/unit do Ruby. Isto significa se limpo e fácil de usar tanto para testadores quanto para o implementadores de linguagem que precisam de um mínimo de métodos para iniciar um suite de testes funcional.”
O Minitest é uma biblioteca de tests bem pequena que acompanha o Ruby 1.9, ou seja, não é preciso instalar nada. Caso você esteja usando o Ruby 1.8 então pode fazer um gem instal Minitest (é bem provável que ele funcione até com Ruby 1.6).
A gem é de autoria do Ryan Davis e por enquanto não existe muita documentação sobre o assunto mas o readme do projeto já o suficiente para entender praticamente todas as suas funcionalidades: http://rdoc.info/projects/seattlerb/minitest
O projeto é basicamente formado por 3 grupos, primeiro Minitest onde você desenvolve de uma forma praticamente igual ao Test::Unit. O resultado dos testes ficam como abaixo:
A segunda parte é o Minispec que é um wrapper sobre o Minitest que permite criar specs bem semelhantes ao Rspec. É possível inclusive ter describes aninhandos, before e after para cada describe. O asserts usados são os mesmos do Minitest puro. Veja abaixo um código com Minispec (código retirado da aula de refactoring do curso Ruby Imersão da eGenial ):
A terceira e última parte é o framework de Mocks. Isto é algo que sempre senti falta no Test::Unit e agora temos com o Minitest:
Bem, daqui em diante o Minitest é a minha opção para tests em Gems, Sinatra e projetos pequenos.