Coding is an Art

Anoiaque::Ergasterium

14/03/2010

Rcov avec JRuby

Le gem RCov pour ruby ne fonctionne pas avec JRuby car il utilise des modules écrits en C ne pouvant s'exécuter sur la machine virtuelle Java.


Sous NetBeans 6.7, il est possible d'utiliser rcov avec le built-in JRuby de NetBeans. Il fonctionne parfaitement.

Sinon, il existe un gem 'rcov-java' pour JRuby . Il ne semble pas pouvoir être installé avec gem install .
Il faut le télécharger ici : http://rubyforge.org/projects/jruby-extras (ou en pièces jointes ci-dessous).
Puis pour installer un gem en local :
$ jruby -S gem install -i /lib/ruby/gems/1.8/ /rcov-0.8.1.2.0-java.gem

Ensuite on lance les tests par : $ rcov test/test_*.rb
Petit souci, il y a un petit bug ... "rcov.rb:654:in `aggregate_data': NilClass can't be coerced into Fixnum (TypeError)"
Je l' ai fixé ainsi :
ligne 654 : cov_arr.each_with_index{|x,i| dest[i] += x} , remplacer par cov_arr.each_with_index{|x,i| dest[i] += x if x }

Vous pouvez maintenant exécuter $ rcov test/test_*.rb
Un répertoire coverage est créé à la racine du projet contenant deux fichiers au format html contenant le rapport de couverture.

Liens :

http://eigenclass.org/hiki/rcov#l6

Aucun commentaire:

Enregistrer un commentaire

Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.
Alan Perlis


The best way to predict the future is to invent it.
Alan Kay


Ne découvre de nouvelles terres que celui qui sait quitter tout rivage.
André gide


Qui ne doute pas acquiert peu
Léonard de Vinci


Our life is frittered away by detail... simplify, simplify.
Henry David Thoreau