Я недавно начал изучать Fluent NH, и у меня возникают некоторые проблемы с этим методом тестирования. Требуется навсегда запустить (он работает уже более десяти минут, и никаких признаков прогресса нет).Fluent NHibernate Картографический тест берет навсегда
[TestMethod]
public void Entry_IsCorrectlyMapped()
{
Action<PersistenceSpecification<Entry>> testAction = pspec => pspec
.CheckProperty(e => e.Id, "1")
.VerifyTheMappings();
TestMapping<Entry>(testAction);
}
с этим вспомогательным методом (немного упростили - у меня есть несколько Try/улов блоков тоже, чтобы обеспечить более хорошие сообщения об ошибках):
public void TestMapping<T>(Action<PersistenceSpecification<T>> testAction) where T : IEntity
{
using (var session = DependencyFactory.CreateSessionFactory(true).OpenSession())
{
testAction(new PersistenceSpecification<T>(session));
}
}
Метод DependencyFactory.CreateSessionFactory()
выглядит следующим образом:
public static ISessionFactory CreateSessionFactory(bool buildSchema)
{
var cfg = Fluently.Configure()
.Database(SQLiteConfiguration.Standard.InMemory())
.Mappings(m => m.FluentMappings.AddFromAssembly(typeof(Entry).Assembly));
if (buildSchema)
{
cfg = cfg.ExposeConfiguration(config => new SchemaExport(config).Create(false, true));
}
return cfg.BuildSessionFactory();
}
Я пробовал отлаживать, но я не могу понять, где узкое место. Почему это так долго?
Как долго 'долго'? И сколько отображений в пределах области? –
Я сказал десять минут, но теперь прошло уже полчаса - и тест-бегун все еще говорит «В процессе ...». Пока что только два сопоставления - и оба очень простые. –