Nie mogę załadować klasy modelu w testach

Plik test/unit/sprawdzian_test.rb

require 'test_helper' class SprawdzianTest < ActiveSupport::TestCase test "Should creating" do s=Sprawdzian.new assert_true s end end
Próba testowania:

[rbklaser@toshiba rozkl]$ ruby -Itest test/unit/sprawdzian_test.rb /usr/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0/lib/active_support/dependencies.rb:239:in `require': no such file to load -- Sprawdzian (LoadError) from /usr/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0/lib/active_support/dependencies.rb:239:in `block in require' from /usr/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0/lib/active_support/dependencies.rb:227:in `load_dependency' from /usr/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0/lib/active_support/dependencies.rb:239:in `require' from test/unit/sprawdzian_test.rb:2:in `<main>'

Zanim zaczniesz rozwiązywać swój problem, zerknij tu, tu i tu. Zastanów się co łączy te wszystkie przypadki z Twoim.

No polska nazwa (chciałem coś zrobić na szybko, wiem że to źle, ale niech już tak będzie). ale sam problem przecież nie jest przez to.

Na podstawie tego co wkleiłeś nie da się stwierdzić gdzie tkwi błąd. Jeśli klasa “Sprawdzian” znajduje się w którymś z automatycznie ładowanych przez Railsy katalogów, w pliku sprawdzian.rb, to przykład powinien działać poprawnie.

Klasa sprawdzian znajduje się w app/models/sprawdzian.rb

U mnie działa. Problemem może być to że występuję błąd podczas wczytywania pliku sprawdzian.rb więc stała nie jest stworzona.
Spróbuj włączyć konsolę i napisać “Sprawdzian.new” . Wtedy może Ci się uda zobaczyć wyjątek, jeśli nie ma żadnego to dziwne bardzo. Może w pliku sprawdzian nie masz zdefiniowanej wcale klasy Sprawdzian bo masz jakąś literówkę i plik jest załadowany a klasy tam nie znajduje ?

[rbklaser@toshiba rozkl]$ rails console Loading development environment (Rails 3.0.0) irb(main):001:0> Sprawdzian.new => #<Sprawdzian id: nil, nazwa: nil, dzial: nil, klasa: nil, created_at: nil, updated_at: nil, document_file_name: nil, document_content_type: nil, document_file_size: nil, document_updated_at: nil>
Czyli kurde… co to ma być;/

A w 1.9 i rails3 nie ma jakichś problemów z odpalaniem testów “standalone” (tzn. ruby ścieżka/do/testu) związanych z autoloadem? Just asking.

Był problem, wystarczy odpalać ruby -Itest test/…itd

Ciekawe, że problem leci w 2 lini a nie 4tej…

Może eager loading, który jest wykorzystywany w testach masz zepsuty? Czy jak zapodasz cache_classes = true zamiast false w development.rb to też możesz utworzyć obiekt klasy sprawdzian w konsoli?