بیاموزید چگونه تمرینهای 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 که تولید میشود، نسخههای تثبیتشدهی بستههای مستقیم و وابسته را ثبت میکند.
testها رفتاری را توصیف میکنند که یک راهحل پاسشده باید آن را برآورده کند. این testها میتوانند جزئیاتی را روشن کنند که در دستورالعملها پوشش داده نشدهاند.
یک ترمینال در پوشهی تمرین باز کنید و این را اجرا کنید:
dotnet test
این دستور وابستگیهای پروژه را بازیابی میکند، پروژه را میسازد و testهای آن را اجرا میکند.
همچنین میتوانید از dotnet watch test استفاده کنید تا هر بار که یک فایل منبع تغییر میکند، testها دوباره اجرا شوند.
تمرینها در ابتدا فقط اولین 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ها فعال و پاس شدند، کار شما تمام است.