I am trying to write mock test for following if statement:
if (Application.GetGroup("Hospital").GetEntity(i).GetField("hosp_id").GetInternalValue() == "Y")
{
//some code.
}
I tried following:
var mockHosp = MockRepository.GenerateMock<IEntity>();
hospGrp.Stub(x => x.GetEntity(0)).Return(mockHosp);
var hosp_id = MockRepository.GenerateMock<IField>();
hospGrp.Stub(x => mockHosp.GetField("hosp_id")).Return(hosp_id);
hosp_id.Stub(x => x.Value).Return("Y");
I keep getting InvalidOperationException
on this line:
hospGrp.Stub(x => mockHosp.GetField("hosp_id")).Return(hosp_id);
Can this be achieved?
假设GetField方法似乎属于IEntity接口,则应将其存入以下代码
mockHosp.Stub(x => x.GetField("hosp_id")).Return(hosp_id);
I finally figured it out. Putting out a solution here may be it will help someone out:
var mockHosp = MockRepository.GenerateMock<IEntity>();
hospGrp.Stub(x => x.GetEntity(0)).Return(mockHosp);
mockHosp.Stub(x => x.Id).Return("1");
var hosp_id = MockRepository.GenerateMock<IField>();
hospGrp.Stub(x => x.GetField("hosp_id")).Return(hosp_id);
hosp_id.Stub(x => x.Value).Return("Y");
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.