اختبار منشئ الطبقة غير المنفذ عند تشغيل نظرية Xunit بشكل فردي؟

StackOverflow https://stackoverflow.com/questions/1267130

  •  13-09-2019
  •  | 
  •  

سؤال

لعبة مثال لعبة:

public abstract class testBase
{
  public testBase()
  {
    //Some common test setup code, which will initialize ManagerClass
  }
}

public class someTests: testBase
{
  public someTests()
  {
    //someTests-specific constructor code.
  }

  [Theory]
  [PropertyData("MyTestData")]
  public void test1(Foo foo)
  {
    //Use foo to do a test
  }

  public static IEnumerable<object[]> MyTestData
  {
    get
    {
      yield return new object[] { ManagerClass.CreateANewFoo(1) };
      yield return new object[] { ManagerClass.CreateANewFoo(42) };
    }
  }
}

في المثال أعلاه، إذا قمت بتشغيل Test1 على وجه التحديد 1 (أنا أستخدم RESHRAPER، ولكن المشكلة تحدث أيضا عند استخدام XUNIT GUI) فشل الاختبار الخاص بي لأنه يبدو أنه لا يتم تنفيذ TestBase أو Pastests منشئين. وبالتالي، فإن الدعوة إلى managerclass.createNewfoo () هي رمي noullareference.

إذا قمت بتشغيل جميع الاختبارات في الأسمايت، أو أي اختبار فردي آخر، ينفذ المنشئ كما هو متوقع والاختبارات المضي قدما في الأزياء المتوقعة. الشيء الوحيد الذي يصادف Test1 تماما كما هو الحال هو حقيقة أنه يستخدم سمة PropertyData.

أي أفكار لماذا يحدث هذا / ما أفعل الخطأ؟

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

المحلول

حاولنا إعادة إنتاج هذا مع xunit.net 1.5 بيتا ولا يمكن.

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