Unit-тест для void метода - C#
Формулировка задачи:
Возник вопрос, как написать юнит тест для void метода, не принимающего ничего.
using System; using System.Linq; namespace ConsoleApplication1 { class SimpleCalculator { public void SumOfNumbers() { Console.WriteLine("Введите слагаемые через запятую!"); try { int[] arr = Console.ReadLine() .Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .Select(i => int.Parse(i)) .ToArray<int>(); Console.WriteLine("Сумма слагаемых: {0}", arr.Sum()); Console.ReadLine(); } catch (FormatException) { Console.WriteLine("Используйте только целые числа! \n" + "Обязательно вводите их через запятую!"); Console.ReadLine(); } } } }
Изначально были такие наброски
[Test] public void SumOfSomeNumbers() { var calc = new SimpleCalculator(); Random rand = new Random(); int first = rand.Next(0, 100000); int second = rand.Next(0, 100000); int result = first + second; Assert.AreEqual(result, calc.SumOfNumbers());
Решение задачи: «Unit-тест для void метода»
textual
Листинг программы
SimpleCalculator sc = new SimpleCalculator(); int sum = sc.Summ(Console.ReadLine()); Console.WriteLine("Сумма слагаемых: {0}", sum);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д