TestSources هي أداة لإدارة ملفات الاختبار لـ .NET Core و .NET Framework
يسهل TestSSources التعامل مع ملفات الاختبار وتنظيمها واستخدامها في اختبار .NET. إنه يبسط إلى حد كبير العمل المعتاد المتمثل في الاضطرار إلى إعداد أداة/رمز لإدارة الملفات ، وتطبيق عمليات التحقق من التحقق وتمكين الوصول المناسب إلى الملفات ومحتوياته ... يجب إعداد تلك الأدوات يدويًا على كل مشروع اختبار يدير الملفات من أي نوع ، واستهلاك الوقت وتكرار التعليمات البرمجية. هذا شر. ولكن لا أكثر ، هنا TestSources للمساعدة.
للبدء ، قم بتثبيت حزمة Nuget TestSources:
dotnet add package TestSources في جذر المشروع ، أضف مجلد جديد يسمى " __testsources__ ". يجب أن تكون في حالة صغيرة ، مع اثنين من الحروف السفلية " _ " قبل وبعد. داخل مجلد Tessources الخاص بنا ، قم بإنشاء ملف نصي يسمى "AtextFile.txt" وداخل إضافة "بعض النص" ، أو أي نص من رغبتك.
للحصول على ملف الاختبار هذا واستخدامه في اختبارات وحدتك (أو التكامل) ، اتبع الخطوة التالية:
أدخل A TestSources GetFile TestSource.GetFile("aTextFile.txt"); في اختبار الوحدة الخاص بك.
مثال:
/// <summary>
/// Tests if the test file contains some text.
/// </summary>
[ Fact ]
public void TestThatTheTextFileContainsText ( )
{
// arrange
string fileName = "aTextFile.txt" ;
// act
string textInsideTheFile =
TestSource . GetFile ( fileName )
. AsString ( ) ;
// Assert
Assert . NotEmpty ( textInsideTheFile ) ;
} سيحصل بيان TestSource.GetFile() على الملف مع الاسم المحدد الموجود في مجلد " __testsources__ ". بعد ذلك ، سيحصل عبارة AsString() Metachained على محتوياتها وتسليمها جاهزة للاستخدام في شكل سلسلة ، مع ترميز UTF-8. (إنه قابل للتكوين أيضًا)
يمكنك إنشاء مجلدات داخل مجلد " __testsources__ " ، دون أي حد باستثناء واحد تم إعداده بواسطة نظام التشغيل الخاص بك.
ينطبق الشيء نفسه على الملفات ، يمكنك إضافتها على أي مستوى واستخدام خيالك لتنظيم ملفات الاختبار الخاصة بك حتى ترضيك.
سيحصل TestSource.GetFile(filename, true) على أي ملف موجود تحت دليل جذر TestSources ، نظرًا لوجوده وقد كتبته بشكل صحيح.
بالإضافة إلى ذلك ، يمكنك الحصول على إشارة إلى مجلد مع بيان مماثل:
سيجد TestSource.GetFolder(foldername) المجلد المسمى foldername في جذر دليل جذر TestSources ، في حين أن TestSource.GetFile(filename, true) سيجد المجلد المسمى في أي من عوامله الفرعية.
تفي الملفات بواجهة ITestSourceFile وهذا يمكّننا من التحقق من الوالدين ، والحصول على اسم الملف ، والاسم الكامل بما في ذلك المسار ، ثم بعض الامتدادات مثل:
OpenRead() - يفتح ملفًا لقراءة إرجاع دفق الملف.AsString() - يقرأ الملف الحالي ويعيد محتواه كسلسلة مع ترميز UTF8 افتراضي ، والذي يمكن تجاوزه.AsByteArray() - يقرأ الملف الحالي ويعيد مجموعة بايت من محتواها.AsFileStream() - يقرأ الملف الحالي ويعيد fileStream إليه.AsMemoryStream() - يقرأ الملف الحالي ويعيد محتوياته كذاكرة.AsStream() - يقرأ الملف الحالي ويعيد محتوياته كدفق.GetHash() - إرجاع تجزئة ملف ، مع إعطاء خوارزمية تجزئة التشفير.AsType<T>() - إرجاع محتوى الملف كنوع ملموس ، قم بتعبير محتوى JSON الخاص به.AsJson() - يقرأ الملف الحالي ويعيد محتواه كسلسلة JSON مع ترميز UTF8 الافتراضي ، والذي يمكن تجاوزه. تفي المجلدات أو الدلائل بواجهة ITestSourceDir وهذا يمكّننا من التحقق من والدها ، والحصول على اسم المجلد ، والاسم الكامل بما في ذلك المسار ثم بعض الامتدادات مثل:
GetFiles() - إرجاع قائمة الملفات الموجودة في هذا المجلد. بالطبع ، الوفاء بواجهة itestsourcefile.GetFolders() - إرجاع قائمة المجلدات الموجودة في هذا المجلد. بالطبع ، الوفاء بواجهة itestsourcedir. (إذا لم تكن هناك ملفات أو مجلدات ، فإن المجموعة فارغة) إنهم ببساطة يعملون ، لا شيء خصيصًا للإعداد هناك.
اعتمد هذا المشروع مدونة السلوك التي حددها العهد المساهم لتوضيح السلوك المتوقع في مجتمعنا. لمزيد من المعلومات ، راجع قواعد سلوك Swiss Life OSS.