3 votes

SimpleCov ne couvre pas l'intérieur de def/methods

Contexte : utilisation de Rails 3.2, Cucumber 1.1.4 et SimpleCov 0.5.4.

Nous avons toutes nos spécifications Cucumber qui passent et le code devrait être couvert. Mais la chose étrange est que lorsque nous vérifions le rapport de couverture Cucumber généré par SimpleCov, le code réel à l'intérieur des méthodes/def n'est PAS du tout couvert. Aucun code de la méthode n'est couvert. Le plus étrange est que les noms de classes, les noms de modules, les déclarations d'accesseurs sont couverts !

Ainsi, dans cet exemple, les lignes 01, 02, 03, 07 sont indiquées comme couvertes, mais pas les lignes 04, 05, 08, 09.

01 class Summary
02  attr_accessor :jobs
03  def initialize (events)
04    @events = events
05    createJobs
06  end
07  def createJobs
08   code here
09   code here
10  end
11 end

Toute aide serait très appréciée !

Merci.

3voto

gkeenley Points 379

Je pense que je sais maintenant ce qui se passe. Mes fonctions/étapes de cucumber ne testent PAS le code directement, mais le testent à travers le navigateur (en utilisant capybara). Il se peut donc que la couverture ne passe pas par le code (contrôleur/modèles).

Si c'est vrai, y a-t-il un remède ? Je ne veux pas/n'ai pas besoin d'avoir de contrôleur/modèle mentionné dans mon cucumber... il s'agit plutôt de tester du point de vue de l'utilisateur (le navigateur).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X