سؤال

هل يمكن لأي شخص أن يوجهني إلى بعض الموارد الخاصة بأسلوب اختبار Give-When-Then باستخدام NUnit؟

هل كانت مفيدة؟

المحلول

إذا قمت بتحميل، وإضافة إشارة إلى، StoryQ ، يمكنك استخدام نمط BDD لطيفة (انظر عينات، بالضغط هنا)، وفي الوقت نفسه تستخدم NUnit كالمعتاد (وTestDriven.Net، عداء R # الصورة، أو ما كنت).

نصائح أخرى

ونظرا عندما يرتبط ثم أسلوب ارتباطا وثيقا على غرار قانون تأكيد اتخاذ الترتيبات اللازمة لاختبار وحدة.

وهنا مثال:

[Test]
public void RotateAngle_Given27Degress_Returns64Degrees()
{
   //Arrange or Given
   var someAngleClass = new Angle();

   //Act or When
   var result = someAngleClass.Rotate(27);

   //Assert or Then
   Assert.That(result, Is.EqualTo(64));
}

وإن الشيء العظيم حول هذا النمط الاختبار هو أنت لا تحتاج إلى معرفة رمز الأساسي لفهم القصد من السلوك.

لمزيد من المعلومات هنا بعض المواقع:

http://www.arrangeactassert.com/

مدونة

روي Osherove في

http://www.artofunittesting.com/

وأعرف أن هذا هو السؤال القديم، ولكن إذا لم تقم بذلك بالفعل، عليك أن تتحقق من SpecFlow . انها تسمح لك لكتابة المواصفات في نص واضح في ملف الميزة. وسيكون أداة لصناعة السيارات في توليد الاختبارات NUnit استنادا إلى ملف الميزة.

يمكنك أيضًا التحقق من مكتبة صغيرةhttps://www.nuget.org/packages/Heleonix.Testing.NUnit/بدلا من كتابة تعليقات مثل //Arrange, //Act, //Assert أو تسمية أساليب غير قابلة للقراءة مثل Given_UserIsLoggedIn_When_SomeButtonIsPressed_Then_BlaBla في اختباراتك، توفر المكتبة القدرة على كتابة الاختبارات في أنماط GWT وAAA بطريقة Jasmine أوJest الخاصة بـ JavaScript.انظر الملف التمهيدي:https://github.com/Heleonix/Heleonix.Testing/blob/master/README.md

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top