در این مقاله قدیمی، نویسنده در ابتدا برسی میکند که آیا اصلا لازم است توابع Private یا Protected آزمایش شوند؟ سپس به نقل از کتاب Pragmatic Unit Testing in C# with NUnit ویژگیهای تست خوب را معرفی میکند. همچنین سه شرط دیگر شامل:
- Transparency: عدم تغییر سیستم تحت آزمون: مثل افزودن امکانات اضافی به کد محصول جهت سهولت آزمایش
- Scope: قابلیت اجرا بر روی هر دو حالت Debug و Release
- Simplicity: سربار کم و سادگی تست برای تغییر
را در ادامه ذکر میکند.
سه استراتژی برای برخورد با مسئله معرفی میشود و در آخر، راه حل هایی برای آزمایش توابع Private (به کمک Reflection) و Protected (به کمک وراثت) ارائه میکند.