Есть ли в любом случае я могу загрузить данные в память, а не использовать файлы .csv в попытке модульного тестирования?

csv effort entity-framework nunit unit-testing

Вопрос

Есть ли в любом случае я могу загрузить данные в память, а не использовать файлы .csv в попытке модульного тестирования?

Сценарий: я хочу загрузить данные в память, чтобы использовать среду Effort, которая создает поддельный dbcontext и выполняет операцию. Вместо использования файлов 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-файлов

Популярные ответы

Вы можете создать Transient / Persistent DbConnection без DataLoader, использовать его в своем DbContext , а затем программно подталкивать ваши сгенерированные данные в контекст.

См. Https://tflamichblog.wordpress.com/2012/11/04/factory-methods-in-effort-createtransient-vs-createpersistent




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему