Начало работы с TDD и шаблон репозитория, мне интересно, если это имеет смысл тестирования это ...Есть ли смысл испытывать это? (Repository паттерн)
Используя шаблон репозитория, у меня есть этот интерфейс:
public interface ICustomerRepository
{
IList<Customer> List();
Customer Get(int id);
}
У меня есть 50 различных объектов, поэтому 50 различных интерфейсов/реализаций репозитория.
Мой вопрос, если это правильно, чтобы проверить каждое хранилище, насмехаясь над вверх интерфейсом, как:
[TestMethod]
public void List_Should_Return_Two_Customers()
{
// Arrange
var customerr = new List<Customer>();
customer.Add(new Customer());
customer.Add(new Customer());
var repository = new Mock<ICustomerRepository>();
repository.Setup(r => r.List()).Returns(customer);
// Assert
Assert.AreEqual(2, repository.Object.List().Count);
}
[TestMethod]
public void Get_Should_Return_One_Customer()
{
// Arrange
var customer = new List<Customer>();
customerr.Add(new Customer() { Id = 1 });
customerr.Add(new Customer() { Id = 2 });
var repository = new Mock<ICustomerRepository>();
repository.Setup(r => r.Get(1)).Returns(customer.Where(w => w.Id == 1).First());
// Assert
Assert.IsTrue(repository.Object.Get(1).Id == 1);
}
Имеет ли смысл тестирования поддельных реализаций этих интерфейсов? Для меня это не так.
для меня это не имеет смысла, что вы должны использовать слово GOT вместо ИМЕЙТЕ –
С 50 лиц, конечно, вы должны быть в состоянии уменьшить количество хранилищ. У меня есть домен 65 объектов, но у меня есть только 7 репозиториев для них ... Я моделирую репозитории после «хабов» домена или основных понятий, а не для каждого объекта. – womp
На самом деле это был всего лишь номер. Я хочу сказать, что мне нужно будет повторить эти тесты для каждого репозитория. Я не выполняю все классы репозитория. Может быть, в итоге мне будет 20. Я еще не знаю. Мне просто интересно, были ли тесты «правильными»? –