Ich baue gerade eine Testsuite für eine ältere Rails-App. Der simplecov
Edelstein war großartig, um dunkle Ecken der App zu finden, die eine Testabdeckung benötigen (oder die komplett unbenutzt sind und OK entfernt werden können). Ich rufe simplecov
einfach auf, indem ich am oberen Rand von test/test_helper.rb
folgendes einfüge:
Das Problem ist, dass dadurch nicht der gesamte Code geprüft wird, der in die Vorlagen eingebettet ist. Da sind alle Arten von Junk drin, und ich bin mir sicher, dass eine Menge davon einfach entfernt werden könnte, aber es wäre wirklich nett, wenn ein Code-Coverage-Tool mich auf die unbenutzten Bits hinweisen könnte.
Einige Experimente mit Ruby 1.9% Coverage
Bibliothek führt mich zu der Annahme, dass es nur die Aufgabe tun könnte, wenn die Vorlagen irgendwie in Ruby-Code kompiliert, in Ruby-Quelldateien gespeichert und dann load
ed oder require
d, anstatt die kompilierten Vorlagen direkt mit eval
zu laden. ODER, möglicherweise ist es möglich, ERB zu hacken, um Logging-Anweisungen zu jeder Zeile jeder Vorlage während des Kompilierungsprozesses hinzuzufügen.
Hat jemand andere Ideen, wie man die Codeabdeckung von ERB-Vorlagen messen kann? Kennen Sie ein bereits bestehendes Tool, das dies kann? (Oder muss ich derjenige sein, der es baut und veröffentlicht?)
Siehe: Wie bekomme ich Abdeckung für? Sehen Sie Spezifikationen mit rspec, Schienen und simplecov an?
Die Antwort lautet: Sie können nicht:
Es ist ein kritischer Fehler, von dem ich hoffe, dass er angesprochen wird. AFIK gibt es nichts besseres als SimpleCov für Ruby 1.9
versuche Rake-Statistiken
es würde eine Tabelle generieren, die die Abdeckung der einzelnen Teile der App enthält
Tags und Links ruby ruby-on-rails testing code-coverage erb