У меня есть следующий метод, который я хотел бы попробовать себя в сочетании с MOQ:отнесение нового объекта в тестовом модуле
public Company CreateCompany(Company company)
{
UnitOfWork.CompanyRepository.Insert(company);
//Give the user who created a company all permissions
UnitOfWork.CompanyPermissionRepository.Insert(new CompanyPermission
{
Useraccount = UnitOfWork.UseraccountRepository.GetByID(this.GetLoggedInUseraccount(this.Context.Session).Id),
Company = company,
AddUser = true,
CreateProject = true,
DeleteCompany = true,
DeleteFile = true,
DownloadFile = true,
EditCompany = true,
ManageProjectPermission = true,
RemoveUser = true,
UploadFile = true
});
UnitOfWork.Save();
return company;
}
Я в принципе хочу, чтобы проверить, если новый объект CompanyPermission
был вставлен в хранилище:
companyPermissionRepository.Verify(r => r.Insert(companyPermissions.allCompanyPermissions));
Это моя установка:
companyPermissionRepository = new Mock<IGenericRepository<CompanyPermission>>();
unitOfWork.Setup(r => r.CompanyPermissionRepository).Returns(companyPermissionRepository.Object);
Мой объект allCompanyPermissions
в модульном тесте создается с теми же значениями, что и в методе CreateCompany, но с ошибкой unit-test. Я думаю, это связано с тем, что два объекта имеют одинаковые значения, но имеют разные ссылки - в памяти есть 2 объекта, которые являются «разными». Это верно? Как я смогу это исправить?
Большое спасибо. Будут следовать вашей рекомендации. :) – mosquito87