Exercism-এ আপনার Visual Basic অনুশীলনীগুলো কীভাবে টেস্ট করবেন তা জানুন
ডাউনলোড করা একটি অনুশীলনীর সাথে আপনার সমাধান বিল্ড ও টেস্ট করার জন্য এই ফাইলগুলো থাকে:
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 দিয়ে শেষ হওয়া দ্বিতীয় ফাইলটি হলো [xUnit টেস্ট স্যুট][xunit]।
সাধারণত পরের টেস্টগুলো সক্রিয় করতে আপনি কেবল এটিই সম্পাদনা করবেন।
শেষের দুইটি ফাইলের কোনোটিই আপনার সম্পাদনা করার দরকার হবে না।
.vbproj ফাইলে প্রজেক্টের বিল্ড সেটিংস ও সরাসরি প্যাকেজ রেফারেন্স থাকে।
জেনারেট হওয়া packages.lock.json ফাইলে রেজলভ হওয়া সরাসরি ও ট্রানজিটিভ প্যাকেজ ভার্সন লিপিবদ্ধ থাকে।
একটি পাস করা সমাধানকে যে আচরণ মেনে চলতে হবে, টেস্টগুলো তা বর্ণনা করে। নির্দেশনায় না থাকা খুঁটিনাটি স্পষ্ট করতেও এগুলো সাহায্য করতে পারে।
অনুশীলনীর ডিরেক্টরিতে একটি টার্মিনাল খুলে চালান:
dotnet test
কমান্ডটি প্রজেক্টের ডিপেন্ডেন্সিগুলো রিস্টোর করে, প্রজেক্টটি বিল্ড করে এবং এর টেস্টগুলো চালায়।
কোনো সোর্স ফাইল পরিবর্তন হলেই টেস্ট আবার চালাতে আপনি dotnet watch test ব্যবহার করতেও পারেন।
অনুশীলনীগুলো শুরুতে কেবল প্রথম টেস্টটিই চালু করে, যাতে আপনি বাকিগুলো এক ধাপ করে সমাধান করতে পারেন।
টেস্টগুলো খুঁজে পেতে Tests.vb দিয়ে শেষ হওয়া ফাইলটি খুলুন।
প্রতিটি টেস্ট হলো xUnit <Fact> অ্যাট্রিবিউট দিয়ে চিহ্নিত একটি Sub সাবরুটিন।
একটি টেস্টের <Fact> অ্যাট্রিবিউটে যতক্ষণ একটি Skip আর্গুমেন্ট থাকে, ততক্ষণ সেটি স্কিপ করা থাকবে:
<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub Lowercase_words()
Assert.Equal("ROR", Abbreviate("Ruby on Rails"))
End Sub
টেস্টটি সক্রিয় করতে কেবল Skip আর্গুমেন্টটি সরিয়ে দিন:
<Fact>
Public Sub Lowercase_words()
Assert.Equal("ROR", Abbreviate("Ruby on Rails"))
End Sub
নতুন সক্রিয় করা টেস্টটি পাস হলে, পরের স্কিপ করা টেস্টটির ক্ষেত্রেও এই প্রক্রিয়াটি আবার করুন। সব টেস্ট সক্রিয় হয়ে পাস করলে, আপনার কাজ শেষ।