1
我們在我們的項目中使用Db4o。Db4o數據庫自動測試
我有一些自動測試,其中測試對象的持久性。 問題是,我無法打開/創建數據庫兩次。 我有兩個輔助方法來創建對象容器。但是當第二次調用該方法時,「ArgumentException:已經使用配置」。被拋出。我關閉並放棄了前一個對象的容器。
我做錯了什麼?
CODE:
public static IObjectContainer GetEmptyTestingDatabase() {
var tempDir = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache);
string dbFilePath = Path.Combine(tempDir, "UNIT-TESTING.db4o");
if (File.Exists(dbFilePath)) {
File.Delete(dbFilePath);
}
var cfg = Db4oFactory.Configure();
cfg.Add(new TransparentPersistenceSupport(new DeactivatingRollbackStrategy()));
cfg.Add(new TransparentActivationSupport());
var db = Db4oFactory.OpenFile(cfg, dbFilePath);
return db;
}
public static IObjectContainer GetMemoryDatabase() {
string dbFileName = Guid.NewGuid().ToString().ToString();
var cfg = Db4oFactory.Configure();
cfg.Storage = new Db4objects.Db4o.IO.PagingMemoryStorage();
cfg.Add(new TransparentPersistenceSupport(new DeactivatingRollbackStrategy()));
cfg.Add(new TransparentActivationSupport());
var db = Db4oFactory.OpenFile(cfg, dbFileName);
return db;
}
謝謝!我必須看到古老的例子。 – TcKs