Ich werde durch die Schienen Tutorial und bin bei section 6.11railstutorial.org - 6.11 - rspec fehlgeschlagen, ist postgresql das Problem?
Aus irgendeinem Grund bin ich immer 4 Beispiele und 4 Ausfälle in rspec vs 4 Beispiele und 1 Fehler (und folglich 0) wie im Tutorial.
ich dies in meinem rspec sehe:
Failure/Error: @user = User.new(name: "Example User", email: "[email protected]")
ActiveRecord::StatementInvalid:
PGError: ERROR: relation "users" does not exist
Die Sache ist, ist das Tutorial entlang in SQLite zu gehen, aber ich wanderte nach Postgres (wie bereits im Tutorial vorgeschlagen), so konnte ich über Postgres lernen auch. Ist das das, was die Probleme verursacht? Sollte ActiveRecord nicht transparent machen, welche Art von Datenbank ich sowieso benutze?
ich die richtigen Datenbanken erstellt haben, meine database.yml aktualisiert, führen Sie eine db: mgirate und den Befehl
User.new(name: "Example User", email: "[email protected]")
in einer Sandbox-Konsole funktioniert gut.
Jede Hilfe sehr geschätzt. Ich versuche hier oben auf rspec zu bleiben, für mich ist es der schwierigste Teil über das Lernen von Rails. Es fühlt sich fast so an, als würde man 90% der Tests zum Schreiben und Debuggen von Energie ausgeben. (Die einzigen Stolpersteine / Geist Biegen headca ich bisher begegnet waren rspec Tests)
Die user_rspec.rb:
require 'spec_helper'
describe User do
before do
@user = User.new(name: "Example User", email: "[email protected]")
end
subject { @user }
it { should respond_to(:name) }
it { should respond_to(:email) }
it { should be_valid }
describe "when name is not present" do
before { @user.name = " " }
it { should_not be_valid }
end
end
-
Als sekundäre Frage finde ich, dass Meine RSPec-Tests laufen mehrmals? Ich habe das Ruby-GNTP-Juwel installiert und stelle fest, dass jedes Mal, wenn ein Test ausgeführt wird, ein Knurren mit den gleichen Informationen auftritt.