साथ इस Learn Rails by example book से आता है:परीक्षण अमान्य ईमेल Rspec
describe "when email format is invalid" do
it "should be invalid" do
addresses = %w[[email protected],com user_at_foo.org [email protected]
[email protected]_baz.com [email protected]+baz.com]
addresses.each do |invalid_address|
@user.email = invalid_address
@user.should_not be_valid
end
end
मैं Rspec में अभी शुरुआत कर रहा हूँ।
describe "when email is not present" do
before { @user.email = " " }
it { should_not be_valid }
end
तो मैं सोच रहा था क्यों लेखक इस तरह उपरोक्त कोड नहीं लिखा था: इससे पहले, वहाँ इस तरह एक कोड था
describe "when email format is invalid" do
before do
addresses = %w[[email protected],com user_at_foo.org [email protected]
[email protected]_baz.com [email protected]+baz.com]
@user.email = invalid_address
addresses.each do |invalid_address|
@user.email = invalid_address
end
end
it { should_not be_valid }
end
ठीक है, हो सकता है इस कोड गलत है। लेकिन मूल रूप से, मैं पूछ रहा हूं कि लेखक ने it
से पहले before
का उपयोग क्यों नहीं किया है या it
से पहले address
चर डाला है?
संपादित करें (जैसा कि उन्होंने पिछले उदाहरण में किया था):
उन्होंने यह भी एक अन्य उदाहरण में कुछ ऐसा ही:
describe "when email address is already taken" do
before do
user_with_same_email = @user.dup
user_with_same_email.email = @user.email.upcase
user_with_same_email.save
end
it { should_not be_valid }
end
बहुत बहुत धन्यवाद! अब यह सब स्पष्ट है। – alexchenco
ठीक है, आपका स्वागत है! –