Это мой первый вопрос, поэтому, пожалуйста, будьте добрыми! :)Как использовать Moq для проверки метода без возвращаемого значения?
Что я пытаюсь сделать, это написать несколько тестов для класса менеджера, который во время построения добавляет много новых экземпляров одного класса элемента в список. Когда в этом классе диспетчера вызывается UpdateAllItems, предполагается, что он переименовывает список и вызывает Increment для каждого отдельного элемента.
Класс менеджера - это мой код, но единственный класс элемента не так, я не могу его изменить.
Я использую NUnit для тестирования и начинаю работать с Moq. Поскольку класс менеджера использует единственный класс элемента, я бы подумал, что мне нужно использовать Moq, поэтому я тестирую только менеджера, а не отдельный элемент.
Как написать тесты для моего метода UpdateAllItems? (Технически я должен сначала написать тесты, которые я знаю).
Вот пример кода, который дает общее представление о том, что я работаю с ...
public class SingleItem_CodeCantBeModified
{
public int CurrentValue { get; private set; }
public SingleItem_CodeCantBeModified(int startValue)
{
CurrentValue = startValue;
}
public void Increment()
{
CurrentValue++;
}
}
public class SingleItemManager
{
List<SingleItem_CodeCantBeModified> items = new List<SingleItem_CodeCantBeModified>();
public SingleItemManager()
{
items.Add(new SingleItem_CodeCantBeModified(100));
items.Add(new SingleItem_CodeCantBeModified(200));
}
public void UpdateAllItems()
{
items.ForEach(item => item.Increment());
}
}
Заранее спасибо за помощь!
Как этот класс полезен? Он создает частный список счетчиков и обновляет каждый элемент каждый раз, когда вызывается метод. Должно быть какое-то изменение в поведении объекта. если UpdateAllItems не работает - что бы наблюдалось изменение? – Gishu