الاختبار في مسار Visual Basic

تعرّف على كيفية اختبار تمارين Visual Basic الخاصة بك على Exercism


يتضمّن التمرين الذي حمّلته الملفات التالية لبناء حلك واختباره:

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 الذي يُنشأ تلقائيًا إصدارات الحزم المباشرة والانتقالية بعد تسويتها.

Note

تصف الاختبارات السلوك الذي يجب أن يحققه الحل الناجح. وقد تساعد في توضيح تفاصيل لا تغطّيها التعليمات.

تشغيل الاختبارات

افتح نافذة طرفية في مجلد التمرين ثم نفّذ:

dotnet test

يعمل هذا الأمر على استعادة تبعيات المشروع، ثم بناء المشروع، ثم تشغيل اختباراته. يمكنك أيضًا استخدام dotnet watch test لإعادة تشغيل الاختبارات كلما تغيّر أحد ملفات المصدر.

الاختبارات المتخطّاة

لا يُفعَّل في البداية إلا الاختبار الأول من كل تمرين، ما يتيح لك حل بقية الاختبارات خطوة بخطوة. افتح الملف الذي ينتهي بـ Tests.vb لتجد الاختبارات. كل اختبار عبارة عن إجراء فرعي Sub موسوم بسمة <Fact> من xUnit. يُتخطّى الاختبار ما دامت سمة <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

وبعد اجتياز الاختبار المُفعَّل حديثًا، كرّر هذه الخطوة مع الاختبار المتخطّى التالي. وعندما تُفعَّل جميع الاختبارات وتنجح كلها، تكون قد انتهيت.