Я бы предложил протестировать ваши сопоставления с помощью базы данных в памяти, чтобы вы могли изолировать только эти сопоставления. Если вы используете базу данных в памяти, вы можете поместить FluentConfiguration в метод [TestInitialize] (MSTest) или [SetUp] (NUnit), и база данных будет создаваться с нуля (в памяти) каждый раз. Вот пример:
[TestInitialize]
public void PersistenceSpecificationTest()
{
var cfg = Fluently.Configure()
.Database(SQLiteConfiguration.Standard.InMemory().UseReflectionOptimizer())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<UserProfile>())
.BuildConfiguration();
_session = cfg.BuildSessionFactory().OpenSession();
new SchemaExport(cfg).Execute(false, true, false, _session.Connection, null);
}
Тогда ваш тест должен работать нормально при каждом запуске:
[TestMethod]
public void CanMapUserProfile()
{
new PersistenceSpecification<UserProfile>(_session)
.CheckProperty(c => c.Id, 1)
.CheckProperty(c => c.UserName, "user")
.CheckProperty(c => c.Address1, "Address1")
.CheckProperty(c => c.Address2, "Address2")
}
Вам потребуется использовать SQLite в этом сценарии вместе с библиотекой System.Data.SQLite, которую вы можете найти здесь: http://sqlite.phxsoftware.com/
Надеюсь, это поможет.