محاولة إنشاء مجموعة بيانات اختبار واسعة النطاق مع Bogus

أحاول إنشاء مجموعة بيانات اختبار جودة الإنتاج و -quantity مع Bogus ، وهذا تعمل المكتبة بشكل جيد للغاية مع البيانات الأساسية - أنواع البيانات البسيطة مثل int أو string ، أشياء مثل الاسم الأول واسم العائلة وما إلى ذلك.

لا أرى حاليًا كيف يمكنني التعامل مع سيناريوهين في إعداد بيانات الاختبار:

  • لسمات معينة لأحد الكائنات ، أود أن أتمكن من تحديد شيء مثل "في 20-30٪ من الحالات ، استخدم NULL بدلاً من إنشاء قيمة" هل هذا ممكن نوعًا ما؟

  • في حالات أخرى ، أحتاج إلى اختيار كائن بشكل عشوائي من قائمة الكائنات المتاحة - ولكنني بحاجة إلى استخدام هذا الكائن الذي تم اختياره لتعيين أكثر من سمة واحدة على الكائن الذي يتم إنشاؤه. مثلا لـ "طلب" ، قد أرغب في اختيار "مدينة" من قائمة معينة من المدن المحتملة - وبمجرد أن يكون لديّ مدينة ، أريد تعيين اسم المدينة ، الولاية و ZipCode الخاصة بكائن "order" من تلك المدينة المختارة. لم أجد طريقة للقيام بذلك (بعد) - أي محتجزي؟

0

1 إجابة

  • To provide null sometimes you can just pick random number in 0-100 range and generate value only if it's above threshold:

    // generate null in 30% of cases
    RuleFor(o => o.Item, f => f.Random.Number(0, 100) >= 30 ? f.Name.FullName() : null)
    
  • To use picked object - just use this property in followup rule:

    // u in lambda represents whole object
    RuleFor(o => o.City, f => f.PickRandom(cities)).
    RuleFor(o => o.CityName, (f, u) => u.City.Name)
    
0
وأضاف