Test Notifier gem para Ruby
11/10/07
Uma vez que você começa a escrever testes, você não para mais. Mas conforme a quantidade de testes vai crescendo, o tempo para executá-las aumenta e esperar os resultados se torna uma tarefa chata. Para quem utiliza o Mac OS X, existem alguns plugins que permitem exibir os resultados em uma notificação do Growl. A primeira vez que usei, percebi que ia ter que escrever algo para quando em estivesse no Linux, ou mesmo no Windows (é, eu tenho que usar Windows às vezes). É uma excelente maneira de utilizar o Autotest.
Foi daí que surgiu este gem. Basta instalá-lo e toda vez que os testes forem executados, uma notificação irá aparecer. Funciona em qualquer lugar que você utilizar Test::Unit. Além disso, funciona nos 3 sistemas operacionais que, eventualmente, uso:
- Mac OS X com o Growl
- Linux com libnotify (libnotify-bin)
- Microsoft Windows com Snarl
Instalação
A instalação é bastante simples. Faça o download do arquivo test_notifier.gem e instale-o com o comando gem install test_notifier. Depois, siga as instruções para o seu sistema operacional.
Ubuntu (Linux)
Instale o pacote "libnotify-bin" e suas dependências, caso existam. Basta executar o comando sudo aptitude install libnotify-bin
Mac OS X
Baixe o Growl e instale-o. Não esqueça de instalar o script "growlnotify", localizado no diretório "Extras" do instalador.
Windows
Baixe o Snarl e instale-o. Você também precisará instalar a gem do Snarl com o comando gem install ruby-snarl.
Agora, basta executar o comando abaixo para instalar o gem:
gem install test_notifier
A página do Test Notifier no Rubyforge é http://rubyforge.org/projects/testnotifier/. Lá você também pode fazer o download do gem para instalá-lo localmente.
Utilizando o Test Notifier
Para que as notificações funcionem, basta incluir o gem em seu código. Veja um exemplo de código Ruby:
require 'rubygems'
require 'test/unit'
require 'test_notifier'
class ExampleTest < Test::Unit::TestCase
def test_should_pass
assert true
end
end
Veja como é exibida a notificação no Ubuntu:

Um teste que falhou seria exibindo assim no Windows:

No Mac OS X, a notificação pode ser exibida assim:

Gravei um screencast mostrando como instalar o gem no Ubuntu enquanto o projeto não é aprovado no Rubyforge. Para assistí-lo, baixe o arquivo test_notifier.ogg.
Utilizando o Test Notifier com Ruby on Rails
O Test Notifier pode ser facilmente integrado ao seu aplicativo desenvolvido em Ruby on Rails. Basta que você adicione a chamada para a biblioteca no arquivo "test/test_helper.rb". Veja como seu arquivo pode ser:
ENV["RAILS_ENV"] = "test"
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
require 'test_help'
require 'test_notifier'
class Test::Unit::TestCase
self.use_transactional_fixtures = true
self.use_instantiated_fixtures = false
end
Apenas adicionando require 'test_notifier', as notificações já serão exibidas. E automaticamente integradas com o Autotest, sem que você precise configurar nada.
Bugs
Caso encontre algum bug, envie um comentário.
- Permalink
- Trackback
- Comentários (15)
- Ao som de: Linkin Park – One Step Closer
Rails Hotkeys
28/06/07
Ontem de noite fiz um plugin para o Gedit para aumentar minha produtividade enquanto estou trabalhando em projetos desenvolvidos com Rails. Chama-se Rails Hotkeys. Se você segue as convenções sugeridas pelo Rails — e isso significa que você deve codificar em inglês — este plugin vai ser uma mão na roda. Como? Continue lendo.
Imagine que você está editando um modelo "Post". Se você quiser editar seu controller — na maioria dos casos será "PostsController" — basta pressionar Ctrl + Shift + R para ativar o Rails Mode e, então, pressionar a tecla C para abrir o arquivo correspondente. E não é só isso! Você pode abrir, à partir deste mesmo modelo, os testes (unitários, funcionais e de integração), arquivos de configuração, além de algumas outras coisas.
Ainda não se interessou? Então veja o screencast do Rails Hotkeys (o projeto que mostro lá o mesmo dos artigos de Testes). Para instalá-lo, basta baixar o plugin e extrair os arquivos para ~/.gnome2/gedit/plugins/. Lembre-se de ativá-lo em "Edit › Preferences › Plugins › Rails Hotkeys".
Após concluir a instalação, pressione as teclas Ctrl + Shift + R e depois a tecla F1 para ver a lista de atalhos disponíveis.
O plugin Rails Hotkeys está disponível em f.simplesideias.com.br/rails_hotkeys.tar.gz através do Subversion. Para pegar a versão mais recente, execute o comando svn co http://svn.simplesideias.com.br/general/gedit/plugins/rails_hotkeys e copie os arquivos para ~/.gnome2/gedit/plugins.
Ah, o nome foi sugerido pelo Klaus Paiva, viciado no plugin HotKeys do Gaim. Então, se não gostarem, já sabem para quem reclamar!
Nota: obviamente, este plugin só irá funcionar se você estiver editando algum projeto Rails.
Possíveis funcionalidades que serão implementadas:
- Iniciar e parar um servidor Webrick
- Executar comandos como
script/generateerake - Exibir um painel com todos os comentários marcados como TO-DO e FIXME (por exemplo,
# TODO: Implement the whole thing)
- Permalink
- Trackback
- Comentários (6)
- Ao som de: The Ataris – Takeoffs and Landings
Instalando OpenSSL para o Ruby no Ubuntu
23/06/07
Se você precisar usar alguma gem que necessita do suporte a OpenSSL, no Ubuntu, você irá receber o seguinte erro:
irb(main):001:0> require 'openssl'
LoadError: no such file to load -- openssl
from (irb):1:in `require'
from (irb):1
Para corrigir isto, basta executar o seguinte comando: sudo aptitude install libopenssl-ruby libssl-dev libssl0.9.8. Ele irá instalar alguns pacotes e você não receberá mais nenhum erro.
- Permalink
- Trackback
- Comentários (5)
- Ao som de: Red Hot Chili Peppers – Mellowship Slinky in B-Major
