저는 현재 StructureMap의 AutoMocking 기능을 구현하려고하고 있습니다. 조롱당하는 데 도움이 필요합니다. fundDirectoryViewModel.Groups
가 null 때문에 StructureMap의 AutoMocker에서 가짜 데이터를 모방하려면 어떻게해야합니까?
[Test]
public void DirctoryResult_Returns_Groups()
{
var autoMocker = new RhinoAutoMocker<GroupController>(MockMode.AAA);
GroupController controller = autoMocker.ClassUnderTest;
var directoryResult = controller.DirectoryResult("b");
var fundDirectoryViewModel = (FundDirectoryViewModel)directoryResult.ViewData.Model;
Assert.IsNotNull(fundDirectoryViewModel.Groups);
}
현재 테스트가 실패 다음과 같이
난 시험 방법이있다. _groupService.GetGroupsByQuery(query)
가 IGroupRepository에 인터페이스를 사용
private readonly IGroupService _groupService;
public PartialViewResult DirectoryResult(string query)
{
return PartialView(new FundDirectoryViewModel
{
Groups =_groupService.GetGroupsByQuery(query)
});
}
데이터베이스로부터 데이터를 판독하는 다음과 같이
는DirectoryResult
의 실제 구현이다. 물론, 필자의 테스트가 실제 데이터베이스의 데이터를 읽는 것을 원하지 않지만 누군가가 모의 데이터를 가져 오는 방법을 말해 줄 수 있습니까?
AutoMocker가 나를 위해 가짜 데이터를 모방하려면 어떻게해야합니까?
업데이트 : 참조
이 내가 질문은 잘못된 것을 통보했습니다
public class GroupService : IGroupService
{
private readonly IGroupRepository _groupRepository;
public GroupService(IGroupRepository groupRepository)
{
_groupRepository = groupRepository;
}
public IList<CompanyGroupInfo> GetGroupsByQuery(string query)
{
return _groupRepository.GetGroupsByQuery(query);
}
}
public class GroupRepository : DataUniverseRepository, IGroupRepository
{
public GroupRepository(ISession session)
{
_session = session;
}
public IList<CompanyGroupInfo> GetGroupsByQuery(string query)
{
// dig into the database and return stuff with _session..
}
}