سؤال

أنا أعمل على أول مجموعة "حقيقية" ، وأحاول القيام بالأشياء بشكل صحيح.

لقد تمكنت من الحصول على عمل Xunit أيضًا ، ولكن في الوقت الحالي ، توجد وحدة الاختبار داخل المجموعة نفسها. هذا يزعجني قليلاً ، لأنه يعني أنني سأقوم بشحن مجموعة حيث ما يقرب من نصف الكود (و 80 ٪ من API) هو طرق الاختبار.

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

أعلم أنه في C# هناك آلية صديق للاختبارات (إذا كانت هذه هي المصطلحات الصحيحة) ، هل هناك ما يعادلها في F#؟

بدلاً من ذلك ، هل يمكن لأي شخص أن يوجهني إلى مشروع مثال حيث يتم ذلك "بشكل صحيح"؟

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

المحلول

يمكنك استخدام internalsvisibleto-attribute لفضح الأجزاء الداخلية لبعض التجمعات الأخرى.

http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoatribute(vs.100).aspx

تعديل

إذا تم توقيع التجميع الخاص بك ، فستحتاج أيضًا إلى توقيع مجموعة الأصدقاء ، وتزويد المفتاح العام في سمة InternalsVisibleto:

[<assembly: InternalsVisibleTo("ProcessorTests, PublicKey=0024000004800...)")>]
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top