とにかくユニットテストのために.csvファイルを使用する代わりに、インメモリにデータをロードできますか?


質問

とにかくユニットテストのために.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ファイルを使用してデータを読み込むのではなく、データを読み込む何かの置換えを探しています

人気のある回答

あなたは一時的/永続作成することができDbConnectionあなたにそれを使用し、データローダーなしで DbContext 、その後、プログラムのコンテキストにあなたの生成されたデータをプッシュし、。

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





ライセンスを受けた: CC-BY-SA
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ