پست

فراخوانی متودهای Private یک کلاس در تست‌ها

در مواقعی که در تست‌های خود نیاز داشتید تا متودهای پرایوت یک کلاس را فراخوانی کنید، می‌توانید از تکه کد زیر استفاده کنید.

1
2
3
4
5
var myClass= new MyClass();
var myData= 10;

var myMethod = myClass.GetType().GetMethod("MyMethod", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
myMethod?.Invoke(myClass, [myData]);
1
2
3
4
5
public class MyClass
{
    private void MyMethod(int myData){
    }
}