J'utilise du concombre avec RSPEC dans un projet Rails. Lorsque j'utilise la tâche "Statistiques Rake", je reçois ce qui suit:
+----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC | Classes | Methods | M/C | LOC/M | +----------------------+-------+-------+---------+---------+-----+-------+ | Controllers | 948 | 761 | 21 | 87 | 4 | 6 | | Helpers | 212 | 175 | 0 | 24 | 0 | 5 | | Models | 912 | 741 | 28 | 72 | 2 | 8 | | Libraries | 305 | 211 | 1 | 25 | 25 | 6 | | Model specs | 978 | 797 | 0 | 1 | 0 | 795 | | View specs | 270 | 227 | 0 | 0 | 0 | 0 | | Controller specs | 1144 | 944 | 0 | 4 | 0 | 234 | | Helper specs | 154 | 116 | 0 | 0 | 0 | 0 | +----------------------+-------+-------+---------+---------+-----+-------+ | Total | 4923 | 3972 | 50 | 213 | 4 | 16 | +----------------------+-------+-------+---------+---------+-----+-------+ Code LOC: 1888 Test LOC: 2084 Code to Test Ratio: 1:1.1
5 Réponses :
RSPEC crée un à la ligne 108 de ce fichier, vous verrez: p> Vous devez juste ajouter votre répertoire de fonctionnalités de concombre là-bas. , juste avant la fin de la tâche. p> lib / tâches / rspec.rake code> fichier. Et redéfinit les répertoires des statistiques à l'intérieur de celui-ci.
Woh c'était rapide! Je vérifie ça.
Des conseils sur la façon de faire cela si vous n'utilisez pas RSPEC?
Pourriez-vous nous dire comment cela fonctionne avec le dernier gem RSPEC-2? Parce qu'il n'y a pas de tâche de râteau
# here is my set up task :statsetup do require 'code_statistics' class CodeStatistics alias calculate_statistics_orig calculate_statistics def calculate_statistics @pairs.inject({}) do |stats, pair| if 3 == pair.size stats[pair.first] = calculate_directory_statistics(pair[1], pair[2]); stats else stats[pair.first] = calculate_directory_statistics(pair.last); stats end end end end # http://www.pervasivecode.com/blog/2007/06/28/hacking-rakestats-to-get-gross-loc/ ::STATS_DIRECTORIES << ['Views', 'app/views', /\.(rhtml|erb|rb)$/] ::STATS_DIRECTORIES << ['Static CSS', 'public/stylesheets', /\.css$/] ::STATS_DIRECTORIES << ['App javascript', 'public/javascripts', /application.js$/] # RSpec default ::STATS_DIRECTORIES << %w( Model\ specs spec/models ) if File.exist?('spec/models') ::STATS_DIRECTORIES << %w( View\ specs spec/views ) if File.exist?('spec/views') ::STATS_DIRECTORIES << %w( Controller\ specs spec/controllers ) if File.exist?('spec/controllers') ::STATS_DIRECTORIES << %w( Helper\ specs spec/helpers ) if File.exist?('spec/helpers') ::STATS_DIRECTORIES << %w( Library\ specs spec/lib ) if File.exist?('spec/lib') ::STATS_DIRECTORIES << %w( Routing\ specs spec/routing ) if File.exist?('spec/routing') ::STATS_DIRECTORIES << %w( Integration\ specs spec/integration ) if File.exist?('spec/integration') ::CodeStatistics::TEST_TYPES << "Model specs" if File.exist?('spec/models') ::CodeStatistics::TEST_TYPES << "View specs" if File.exist?('spec/views') ::CodeStatistics::TEST_TYPES << "Controller specs" if File.exist?('spec/controllers') ::CodeStatistics::TEST_TYPES << "Helper specs" if File.exist?('spec/helpers') ::CodeStatistics::TEST_TYPES << "Library specs" if File.exist?('spec/lib') ::CodeStatistics::TEST_TYPES << "Routing specs" if File.exist?('spec/routing') ::CodeStatistics::TEST_TYPES << "Integration specs" if File.exist?('spec/integration') # Cuke ::STATS_DIRECTORIES << %w( Cucumber\ features features ) if File.exist?('features') ::CodeStatistics::TEST_TYPES << "Cucumber features" if File.exist?('features') end
Pourquoi le singe patch le gemme comme ça? Vous devrez ajouter votre solution à chaque fois que vous mettez à jour RSPEC-Rails. Il suffit d'étendre la tâche localement avec quelque chose comme ceci: et FYI LichTamberg et Damien Mathieu Cela fonctionne simplement bien avec RSPEC 2. Cependant, ces rails spécifiques des tâches de râteau sont OFC ne faisant pas partie du gemme RSPEC , mais une partie de la gemme RSPEC-rails. P> ps Tout cela a été testé avec Ruby 1.9.2P180 (2011-02-18 Révision 30909) [I686-Linux], Rails 3.0.8, RSPEC 2.6.0 et RSPEC-Rails 2.6.1 et pourraient ne pas fonctionner ou ne pas travailler plus anciennes de eux. p> p>
Voici une version qui fonctionne avec Turnip et RSPEC 2 P>
Bien que ce soit une question extrêmement ancienne, il est toujours en premier lieu lorsque Googling "Rails Rake Statist Cumumber" et les réponses sont trompeuses ou obsolètes.
Pour les futurs Googlers, tout ce que vous avez à faire est de gérer P> < Pré> xxx pré>
Ceci créera les fichiers nécessaires, et spécifiquement le fichier lib / tâches / cocumber.rake code>, qui ajoute des "fonctionnalités de concombre" aux statistiques
rake < / code> sortie. p> p>