어쨌든 단위 테스트를 위해 노력하고있는 .csv 파일 대신에 메모리에 데이터를로드 할 수 있습니까?

csv effort entity-framework nunit unit-testing

문제

어쨌든 단위 테스트를 위해 노력하고있는 .csv 파일 대신에 메모리에 데이터를로드 할 수 있습니까?

시나리오 : 가짜 dbcontext를 생성하고 작업을 수행하는 Effort 프레임 워크를 사용하기 위해 메모리에 데이터를로드하려고합니다. Dataloader 및 .csv 파일을 사용하는 대신 데이터를 프로그래밍 방식으로로드해야합니다.

.csv 파일로 잘 작동하는 샘플 코드 :

        IDataLoader loader = new Effort.DataLoaders.CsvDataLoader("D:\\csv");
        var dataLoader = new CachingDataLoader(loader, false);
        DbConnection connection = Effort.DbConnectionFactory.CreateTransient(dataLoader);
        DbContext mockedDbContext = new NopObjectContext(connection);
        EfRepository<Shelf> _shelEfRepository = new EfRepository<Shelf>(mockedDbContext);
        EfRepository<ProductVariant> _productVariantEfRepository = new EfRepository<ProductVariant>(mockedDbContext);
        EfRepository<Product> _productEfRepository = new EfRepository<Product>(mockedDbContext);
        _shelfService = new ShelfService(_shelEfRepository, _productVariantEfRepository, _productEfRepository);

대신 .csv 파일을 사용하여 데이터를로드하는 대신 데이터를로드 할 대체물을 찾고 있습니다.

인기 답변

DataLoader 없이 Transient / Persistent DbConnection 만들고 DbContext 에서 사용하고 프로그래밍 방식으로 생성 된 데이터를 컨텍스트로 푸시 할 수 있습니다.

참조 : https://tflamichblog.wordpress.com/2012/11/04/factory-methods-in-effort-createtient-vs-createpersistent




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.