Модульный тест для виртуальных свойств - PullRequest
0 голосов
/ 20 декабря 2011

Из-за отложенной загрузки в NHibernate я должен убедиться, что каждое свойство моего домена является виртуальным. Я хотел бы сделать это, написав проверку модульного теста для каждого отражения, что все открытые свойства всех классов в определенном пространстве имен являются виртуальными.

Как я могу это сделать?

Заранее спасибо Тоби

Ответы [ 2 ]

3 голосов
/ 20 декабря 2011

не нужно, просто создайте фабрику сессий. если свойства не виртуальные, конфигурация выдаст подробное сообщение о том, что не так.

1 голос
/ 20 декабря 2011

Я адаптировал кусок кода из аналогичного случая, который должен у вас получиться;

    public static bool Test<T>()
    {
        var valid = true;

        foreach (var property in typeof(T).GetProperties())
        {
            var accessor = property.GetAccessors()[0];
            if (accessor.IsVirtual)
                continue;

            Console.WriteLine("Member " + typeof(T).Name + "." + property.Name + " is not virtual");
            valid = false;
        }

        return valid;
    }

вы бы использовали это следующим образом:

var valid = Test<User>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...