[TestFixture]
public class CityTypeDaoFixture
{
private ISessionFactory _sessionFactory;
private Configuration _configuration;
[TestFixtureSetUp]
public void TestFixtureSetUp()
{
_configuration = new Configuration();
_configuration.Configure();
_configuration.AddAssembly(typeof(CityType).Assembly);
_sessionFactory = _configuration.BuildSessionFactory();
}
[SetUp]
public void SetupContext()
{
new SchemaExport(_configuration).Execute(false, true, false, false);
}
[Test]
public void CanAddNewCityType()
{
var product = new CityType { Name = "Большой город", MaxTrains = 16 };
ICityTypeDao cityTypeDao = new CityTypeDao();
cityTypeDao.Add(product);
}
}При запуске теста получаю следующее:
TestCase 'RailSlewer.Tests.DALTests.CityTypeDaoFixture.CanAddNewCityType' failed: TestFixtureSetUp failed in CityTypeDaoFixture TestFixture failed: NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException : Unable to load type 'NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu' during configuration of proxy factory class. Possible causes are: - The NHibernate.Bytecode provider assembly was not deployed. - The typeName used to initialize the 'proxyfactory.factory_class' property of the session-factory section is not well formed. Solution: Confirm that your deployment folder contains one of the following assemblies: NHibernate.ByteCode.LinFu.dll NHibernate.ByteCode.Castle.dll
При этом сборка NHibernate.ByteCode.LinFu.dll добавлена в References, у нее стоит CopyLocal=True и я сходил в Bin\Debug и убедился что она там лежит. 15 минут гугления и я выясняю, что не одинок. В интернете предлагают убедиться, что сборка лежит там же, где и бинари. Ну лежит. Не найдя решения в течении еще минут 15, применил метод научного тыка и со второй попытки нашел, где на самом деле ее хотят видеть:
"obj\Debug" - Вот где!
Update: Покопавшись с проблеммой еще, я выяснил что естественно из "obj\Debug" ничего грузиться не должно. Запустив свой проект при подключенных исходниках NHibernate (Тот же релиз NHibernate'a но не bin, а src) я прошел свой тест. Мучался я с этой проблеммой долго и нудно. Все нервы извел. В общем собрал самостоятельно NHibernate (ничего не менял) и теперь все тип-топ. Если кому интересно, то собранный мной из архива "NHibernate-2.1.0.Alpha1-src.zip" релиз можно скачать тут:
Только необходимые dll (581k) - все, что нужно чтобы NHibernate работал в вашем проекте
Все файлы релиза (3M) - все, что было во всех папках Bin\Release-2.0 после сборки релиза.
Комментариев нет:
Отправить комментарий