Test کردن در مسیر Visual Basic

بیاموزید چگونه تمرین‌های Visual Basic خود را در Exercism Test کنید


تمرینی که دانلود می‌کنید، این فایل‌های زیر را برای ساخت و test کردن راه‌حل شما در خود دارد:

hello-world/
├── HelloWorld.vb          # Your solution
├── HelloWorldTests.vb     # The test suite
├── HelloWorld.vbproj      # Project and build configuration
└── packages.lock.json     # Resolved project dependencies

اسم فایل‌ها بسته به تمرین فرق می‌کند. راه‌حل خود را در اولین فایل .vb بنویسید. فایل دومی که به Tests.vb ختم می‌شود، [مجموعه‌ی testهای xUnit][xunit] است. معمولاً فقط برای برداشتن skip از testهای بعدی این فایل را ویرایش می‌کنید. نیازی به ویرایش هیچ‌کدام از دو فایل آخر نخواهید داشت. فایل .vbproj شامل تنظیمات ساخت پروژه و ارجاع‌های مستقیم به بسته‌هاست. فایل packages.lock.json که تولید می‌شود، نسخه‌های تثبیت‌شده‌ی بسته‌های مستقیم و وابسته را ثبت می‌کند.

Note

testها رفتاری را توصیف می‌کنند که یک راه‌حل پاس‌شده باید آن را برآورده کند. این testها می‌توانند جزئیاتی را روشن کنند که در دستورالعمل‌ها پوشش داده نشده‌اند.

اجرای testها

یک ترمینال در پوشه‌ی تمرین باز کنید و این را اجرا کنید:

dotnet test

این دستور وابستگی‌های پروژه را بازیابی می‌کند، پروژه را می‌سازد و testهای آن را اجرا می‌کند. همچنین می‌توانید از dotnet watch test استفاده کنید تا هر بار که یک فایل منبع تغییر می‌کند، testها دوباره اجرا شوند.

testهای skipشده

تمرین‌ها در ابتدا فقط اولین test را فعال می‌کنند تا بتوانید بقیه را یکی‌یکی حل کنید. فایلی را که به Tests.vb ختم می‌شود باز کنید تا testها را پیدا کنید. هر test یک زیرروال Sub است که با خصیصه‌ی <Fact> در xUnit مشخص شده است. تا زمانی که خصیصه‌ی <Fact> یک test آرگومان Skip داشته باشد، آن test skip می‌شود:

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub Lowercase_words()
    Assert.Equal("ROR", Abbreviate("Ruby on Rails"))
End Sub

برای فعال کردن test، کافی است آرگومان Skip را حذف کنید:

<Fact>
Public Sub Lowercase_words()
    Assert.Equal("ROR", Abbreviate("Ruby on Rails"))
End Sub

پس از اینکه test تازه فعال‌شده پاس شد، همین کار را با test بعدی که skip شده تکرار کنید. وقتی همه‌ی testها فعال و پاس شدند، کار شما تمام است.