Чтобы управлять поведением фиктивного объекта (по крайней мере, в Moq), вам нужно либо имитировать интерфейс, либо убедиться, что поведение, которым вы пытаетесь управлять, помечено как виртуальное. В вашем комментарии я так понимаю, что создание экземпляра _mockArticleDao
выполняется примерно так:
_mockArticleDao = new Mock<ArticleDAO>();
Если вы хотите сохранить это как есть, вам нужно отметить метод GetArticle
virtual
:
public class ArticleDAO : GenericNHibernateDAO(IArticle, int>, IArticleDAO
{
public virtual IArticle GetByTitle(string title)
{
// ...
}
}
В противном случае (и это то, что я рекомендую), вместо этого смоделируйте интерфейс.
_mockArticleDao = new Mock<IArticleDAO>();