Rspecが生成するファイルrails_helper.rbに関する質問があります。私はそれがすべて本当にうまくいっていますが、私が得ないものがあります。私はそのファイル(サポートディレクトリ、データベースクリーナー..)に何が入っているのか知っています。そして、私はそのファイルにフィーチャー、モデル、コントローラーのテストが必要な人を少なくとも数百人も見てきました。 - 何も起こりませんrails_helper.rbファイル(必要がなくてもテストに合格)
require 'rails_helper'
describe User do
it "is valid with valid attributes" do
user = build(:user)
expect(user).to be_valid
end
it "is invalid when username is blank" do
user = build(:user, username: "")
expect(user).to_not be_valid
end
it "is invalid when username is too long" do
user = build(:user, username: "a" * 21)
expect(user).to_not be_valid
end
it "is invalid when username is too short" do
user = build(:user, username: "a" * 3)
expect(user).to_not be_valid
end
end
そして私はちょうど「require_helper.rb」を削除した場合:
は、私は私のアプリを持っている。この例を考えてみましょうか?テストはまだ通りますか?そして、私はそのラインを削除して、まだ通過している20のテストを受けました(私は、工場の女の子なしでActiveRecordモデルを直接使用しようとしましたが、それでもパスします)!
イム使用して:RSpecのfactory_girl、データベース・クリーナ、3およびレール
4.2は - 私は行方不明何かはありますか?何かの誤りはないはずですか?
TNX、 トム
はい.rspecファイルがありますが、spec_helper.rbのみが含まれています。 rails_helper.rbはレールスタック全体をロードするはずですが、spec_helper.rbはすべての非レールクラス(少なくとも私が読んだもの)です。 –
あなたのプロジェクトでSpringを使用していますか? rspecコマンドの前に 'DISABLE_SPRING = 1'をつけると、同じ動作が見えますか? –
はい、あなたが正しいです、それは春のためです(申し訳ありませんが、私はそれを使用することを忘れてしまった)。それを無効にして、レールが一定のユーザーを解決できないと訴えています。 Tnx Andy :) –