Gnome notifications pour tester vos applications ruby

Ruby on rail offre la possibilité de tester vos application grâce à rspec
Mais il est aussi possible d’améliorer cette pratique en utilisant le système de notification de gnome grace à ZenTest et redgreen.
Vous devrez les installer par gem:

1
2
$ sudo gem install ZenTest
$ sudo gem install redgreen

 

Vérifiez que libnotify-bin est correctement installer:

1
$ sudo apt-get install libnotify-bin

Nous avons toutes nos dependance necessaires, pour utiliser autotest dans nos application, vous devez creer le fichier ~/.autotest dans votre home et ajouter ceci dans ce meme fichier:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/ruby
require 'redgreen'
require 'autotest/timestamp'

module Autotest::GnomeNotify
def self.notify title, msg, img
system "notify-send '#{title}' '#{msg}' -i #{img} -t 3000"
end

Autotest.add_hook :ran_command do |at|
image_root = "~/.autotest_images"
results = [at.results].flatten.join("\n")
results.gsub!(/\\e\[\d+m/,'')
output = results.slice(/(\d+)\sexamples?,\s(\d+)\sfailures?(,\s(\d+)\spending?|)/)
full_sentence, green, failures, garbage, pending = $~.to_a.map(&:to_i)
if output
if failures > 0
notify "Test échouer", "#{output}", "#{image_root}/fail.png"
elsif pending > 0
notify "En attente", "#{output}", "#{image_root}/pending.png"
else
notify "Test réussit", "#{output}", "#{image_root}/pass.png"
end
end
end
end

Comme vous pouvez le voir, nous utiliserons plusieurs images pour les reusltats des test.
Téléchargez ce pack d’image (autotest_images) et ajouter le dans votre home (~/)

Pour l’utilisation, c’est simple, rendez-vous à la racine de votre projet ruby et lancer la commande:

1
$ autotest

Plus d’information sur les test d’application ruby on rail: http://french.railstutorial.org/chapters/static-pages#sec:first_tests

Laisser un commentaire