Какова лучшая практика, если я хочу провести модульное тестирование сущности со ссылочным свойством?
BlogEntry ссылается на объект User по внешнему ключу. Прямо сейчас я использую session.Load, чтобы избежать исключения, поскольку внешний ключ не может содержать нули.
Могу ли я вместо этого как-нибудь высмеять это? Я не хочу, чтобы мой модульный тест содержал ссылки на «реального» пользователя в БД.
public class BlogEntry {
public virtual int ID {get;set;}
public virtual User CreatedBy {get;set;}
public virtual string Text {get;set;}
}
В настоящее время я использую следующий метод тестирования:
[Test]
public void Create_blog_entry()
{
using (var session = sessionFactory.OpenSession())
using (var trans = session.BeginTransaction())
{
var entry = new BlogEntry(){
Text = "Lorem ipsum",
CreatedBy = session.Load<User>(1)
};
session.Save(entry);
trans.Rollback();
}
}