У меня следующая структура объекта:
public class A
{
//...
public B b;
//...
}
public class B
{
//...
public C c;
//...
}
public class C
{
//...
//...
}
Я хочу создать несколько тестов для написания кода доступа к базе данных. Для этого перед каждым тестом я добавлю в базу данных некоторые необходимые данные (я использую свободный nHibernate).
Итак, чтобы протестировать какой-либо метод базы данных, выполняющий некоторые действия над объектом A, мне нужно сохранить объект класса A в базе данных
//...
var a = new A();
session.Save(a);
//...
Что приводит к исключению нулевой ссылки, поскольку объекты классов B и C также являются объектами базы данных, которые не могут быть обнуляемыми.
Мой вопрос заключается в том, как избежать такого исключения элегантным способом, используя Moq. В моей реальной проблеме деревья объектов намного сложнее, чем в этом упрощенном вопросе.