2008-10-08 7 views
6

Ich verwende Test/Unit mit einem Standard Schienen 2.1 Projekt. Ich würde gerne in der Lage sein, Teilansichten unabhängig von einem bestimmten Controller/einer bestimmten Aktion zu testen.Testen von Schienen Teilansichten Standalone

Es schien, als ob ZenTest's Test::Rails::ViewTestCase helfen würde, aber ich konnte es nicht funktioniert bekommen, in ähnlicher Weise mit view_test http://www.continuousthinking.com/tags/view_test

Die meisten Sachen auftaucht Google scheint ziemlich veraltet, so vermute ich, nicht der Fall ist wirklich arbeiten mit Schienen 2.1

Jede Hilfe mit dieser sehr geschätzt.

Danke, Roland

+0

aber, wie kann man in einem Objekt zur teilweisen passieren? – mcr

Antwort

-3

eine Ansicht ohne den Controller-Code Testen ist eine gefährliche Sache. Ihre Tests können bestanden werden, aber Ihre Anwendung könnte einen Fehler verursachen. Testen Sie immer gegen reale Situationen, nicht gegen künstliche.

+0

> Ihre Tests können bestanden werden, aber Ihre Anwendung könnte einen Fehler verursachen. Das ist immer wahr. Ich denke, dass Sie vielleicht vermissen, was ich hier erreichen möchte. View Testing ist ein kleiner Teil einer gesamten Teststrategie. – Roland

+3

Sie können die Standalone-View-Tests als Komponententests betrachten. Sie benötigen weiterhin Funktions- und/oder Integrationstests, aber Sie können eine Reihe von Edge Cases schnell mit Komponententests testen. –

6

Wir verwenden RSpec in unserem Rails 2.1-Projekt, und wir können diese Art der Sache tun:

describe "/posts/_form" do 
    before do 
    render :partial => "posts/form" 
    end 
    it "says hello" do 
    response.should match(/hello/i) 
    end 
    it "renders a form" do 
    response.should have_tag("form") 
    end 
end 

aber ich weiß nicht, wie viel von Ihnen, mit dem Vanille-Rails Testgerät tun können .

+0

yup - leider habe ich zu viele Test-/Unit-Tests, um zu rspec für dieses Projekt zu wechseln - obwohl ich in den aktuellen Apps teilweise auf rspec umgestiegen bin, weil es scheinbar diesen feinkörnigen Test unterstützt – Roland

+0

In welchem ​​Verzeichnis machst du das? ? –