Est-il possible de charger les données dans la mémoire au lieu d'utiliser des fichiers.csv pour effectuer des tests unitaires?
Scénario: je veux charger les données dans la mémoire pour utiliser le framework Effort qui crée le faux dbcontext et effectue l'opération. Au lieu d'utiliser des fichiers Dataloader et .csv, je dois charger les données par programme.
Exemple de code qui fonctionne bien avec les fichiers .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);
Je cherche simplement un remplacement pour charger les données au lieu de les charger avec des fichiers .csv
Vous pouvez créer une DbConnection
transitoire / persistante DbConnection
sans DataLoader, l'utiliser dans votre DbContext
, puis DbContext
programme les données générées dans le contexte.