روش اول استفاده از Mock هست
var mockAddress = new Mock<Address>();
mockAddress.SetupGet(p => p.Id).Returns(42);
منبع: c# - Testing properties with private setters
روش دوم استفاده از رفلکشن هست. این اکستنشن متد رو باید توی پروژه تست تعریف کنیم.
public static class ObjectExtensions
{
public static TObject SetProperty<TObject,TReturn>(this TObject obj, Expression<Func<TObject, TReturn>> propSelector, TReturn value)
where TObject : class
{
var propertyInfo = (PropertyInfo)((MemberExpression)propSelector.Body).Member;
propertyInfo.SetValue(obj, value);
return obj;
}
}
var address = new Address(...);
address.SetProperty(t => t.Id, 42);
رای
0
ارسال نظر
مرتب سازی:
اولین نفری باشید که نظر می دهید!