EF를 사용하여 MVC 응용 프로그램을 만들고 현재 일반 저장소 패턴 (예 : Generic Repository Pattern)을 사용하고 있습니다. 모든 저장소는 각 저장소에서 새로운 컨텍스트가 만들어지고 두 개 이상의 리포지토리와 작업하는 것이 내 응용 프로그램에 필요하다는 사실을 제외하고는 모두 훌륭했습니다. StructureMap을 사용하면서 추가했습니다.가짜 DbContext 만들기
x.For<IDbContext>().HttpContextScoped().Use(context => new MyContext());
여기서 IDbContext는 각각의 메서드를 가지며 더 이상 일반 적이 지 않지만 생성자를 통해 전달됩니다.
문제를 테스트 할 때 문제가 발생합니다. 예를 들어 HashTable 또는 HashSet과 같은 것으로 메모리 저장 공간 (빠른 데이터, 사용자 정의, 데이터 제어 용이)을 만들고 싶습니다. 내가 알 수없는 것은 해시 테이블에서 데이터를 가져 오는 IDbContext의 가짜 구현을 만드는 방법입니다. 을 될 것 같지 않습니다
public interface IDbContext : IDisposable
{
IDbSet<TEntity> Set<TEntity>() where TEntity : class;
DbEntityEntry<TEntity> Entry<TEntity>(TEntity entity) where TEntity : class;
int SaveChanges();
}
내가 가짜 컨텍스트를 만드는 등 큰 실수를했다고 가정의 현재 상황에서 : 참고로 IDbContext은 (일반 저장소에 DbContext에서 사용하는 유일한 방법) 다음과 같습니다 정기적 인 루틴. 내 응용 프로그램의 아키텍처를 개선하고 더 테스트 할 수있는 방법에 대한 조언. 내가 과거에 이런 짓을 한