почитал по ссылке выше, вроде все понятно, но не понятным остался следующий вопрос: можно ли каким то образом создать коллекцию входных и выходных параметров, но так что бы при не выполнении теста было видно какой именно набор выдал неверный результат. я для примера сделал такой метод:
| Код | public double Calculate(int a, int b) { return a / b; }
|
и тест к нему:
| Код | public void CalculateTest() { Program target = new Program(); for (int i = 0; i < 10; ++i) { for (int j = 0; j < 10; ++j) { int a = i; // TODO: Initialize to an appropriate value int b = j; // TODO: Initialize to an appropriate value double expected = i/j; // TODO: Initialize to an appropriate value double actual; actual = target.Calculate(a, b); Assert.AreEqual(expected, actual); } } }
|
естественно что я получаю ошибку деления на ноль, при чем ошибка получается в самом тесте а не в тестируемом методе. вопрос как написать тест, что бы можно было проверить те же наборы входных параметров. единственный вариант который у меня придумывается это просто писать все варианты по очереди, к примеру:
| Код | public void CalculateTest() { Program target = new Program();
Assert.AreEqual(1, target.Calculate(1, 1)); Assert.AreEqual(1, target.Calculate(2, 2)); Assert.AreEqual(0, target.Calculate(0, 1)); Assert.AreEqual(0, target.Calculate(1, 0)); .....еще много этих строчек..... }
|
но такой вариант мне кажется крайне неудобным, не ужели нету чего то более удобного? |