Fluen Nhibernate Nunit Test Ошибка - PullRequest
0 голосов
/ 28 мая 2009

Я пытаюсь изучить Nhibernate, используя беглые отображения nhibernate, и я создал небольшое тестовое приложение. Ниже приведен код:

UserClass:

public class User
{
    public string UserName { get; set; }
    public string Password { get; set; }
    public string Role { get; set; }
    public string Email { get; set; }
    public DateTime JoinDate { get; set; }
}

Класс карты пользователя:

public class UserMapping: ClassMap<User>
{
    public UserMapping()
    {
        WithTable("UserT");
        Not.LazyLoad();
        Id(u => u.UserName);
        Map(u => u.Password);
        Map(u => u.Role);
        Map(u => u.Email);
        Map(u => u.JoinDate);

    }
}

Класс пользователя DAL:

public class DALUser
{

    public User GetUserByUserName(string userName)
    {
        ISessionFactory sessionFactory = Fluently.Configure()
            .Database(MsSqlConfiguration.MsSql2005.ConnectionString(c => c.Server("ServerName").Database("DBName").TrustedConnection()))
                .Mappings(m => m.FluentMappings.AddFromAssemblyOf<UserMapping>()).BuildSessionFactory();

        ISession session = sessionFactory.OpenSession();
        return session.Get<User>(userName);
    }

}

Класс испытаний Nunit:

[TestFixture]
public class UserTest
{
    [Test]
    public void CanGetUserByUserName()
    {
        DALUser user1 = new DALUser();
        Assert.AreEqual("testUser", user1.GetUserByUserName("testUser").UserName);
    }

}

Когда я пытаюсь запустить тестовый класс, я получаю следующую ошибку: Ссылка на объект не установлена ​​на экземпляр объекта. Я поместил точку останова в метод GetUserByUserName и заметил, что он возвращает нулевого пользователя. Но я не могу понять, почему это происходит. Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 11 августа 2009

Проверьте правильность конфигурации вашей базы данных? Вы уверены, что ваш сервер базы данных "ServerName" и у вас уже есть база данных "DBName"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...