Что вы хотите сделать здесь, это использовать что-то вроде репозитория за интерфейсом IRepository:
interface IRepository{
Customer GetCustomer(int id);
}
Вы можете реализовать в своем коде реальный класс, который будет запрашивать базу данных, но в своих тестах вы можете «макетировать» этот интерфейс, чтобы получить именно то, что вы хотите. Moq - мой любимый, а далее псевдокод, но, надеюсь, вы поймете:
[Test]
public void Customer_Should_Have_CreateAt_Set_To_Today{
var mock = new Mock<IRepository>();
mock.Setup(x => x.GetCustomer(100)).Returns(new Customer{id = 100, Name = "Steve"});
var Customer = mock.Object;
Assert.Equal(Customer.CreatedAt,Date.Today);
}
Идея заключается в том, что вы полностью контролируете данные, которыми должны управлять, не полагаясь на момент создания объекта и т. Д.