Wie testen Sie die Codeabdeckung für Rails ERB-Vorlagen?

8

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:

%Vor%

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?)

    
Alex D 23.10.2012, 12:56
quelle

2 Antworten

8

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

    
stoicviking 29.10.2012, 02:45
quelle
-2

versuche Rake-Statistiken

es würde eine Tabelle generieren, die die Abdeckung der einzelnen Teile der App enthält

    
Aditya Kapoor 23.10.2012 13:14
quelle