برنامه نویسی

با استفاده از روش SKIP_BEFORE در RSPEC

در skip_before Method در RSPEC ابزاری مفید برای انتخاب انتخابی خاص قبل از بلوک های موجود در مجموعه تست شماست. این بلوک ها قبل از هر نمونه در یک مجموعه تست اجرا می شوند و می توان از آنها برای تنظیم داده های آزمون مشترک یا انجام کارهای لازم دیگر استفاده کرد.

با این حال ، ممکن است مواقعی وجود داشته باشد که بخواهید قبل از بلوک ها برای مثال های خاصی از آن استفاده کنید. اینجاست skip_before مفید است

برای استفاده skip_before، به سادگی آن را به نماد یا رشته ای که نمایانگر بلوک قبل از آن است که می خواهید پرش کنید ، منتقل کنید. به عنوان مثال:

describe "My Example" do
  before(:all) do
    # this block will run before all examples
  end

  before(:each) do
    # this block will run before each example
  end

  it "skips the before(:each) block" do
    skip_before(:each)
    # this example will not run the before(:each) block
  end

  it "runs the before(:each) block" do
    # this example will run the before(:each) block
  end
end
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

همچنین می توانید عبور کنید skip_before یک بلوک ، در این حالت بلوک قبل فقط برای نمونه های موجود در بلوک پرش می شود. به عنوان مثال:

describe "My Example" do
  before(:each) do
    # this block will run before each example
  end

  it "skips the before(:each) block" do
    skip_before(:each) do
      # this example will not run the before(:each) block
    end
  end

  it "runs the before(:each) block" do
    # this example will run the before(:each) block
  end
end
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

یک چیز که باید در خاطر داشته باشید این است skip_before فقط قبل از بلوک هایی که در همان گروه مثال تعریف شده اند ، مانند نمونه اجرا می شوند. قبل از بلوک های تعریف شده در یک گروه مثال والدین ، ​​پرش نمی شود.

به طور خلاصه ، skip_before ابزاری مفید برای جستجوی انتخابی خاص قبل از بلوک در مجموعه تست RSPEC شما است. این امکان را به شما می دهد تا تنظیمات را برای هر مثال تنظیم کنید و تست های خود را کارآمدتر و متمرکز کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا