Я работаю в лаборатории, практичной с модульным тестированием, а ниже - часть кода из приложения, которое я тестирую. Большинство тестов единицы завершены, но в отношении конструктора ниже я просто не могу понять, как его проверить. Например, что именно делает конструктор с элементами массива? Что было бы хорошим способом тестирования конструктора?Unit-testing конструктора
Может быть, какая-то добродушная душа, которая может дать мне удар в правильном направлении?
public struct Point {
public int x, y;
public Point(int a, int b) {
x = a;
y = b;
}
}
...
public Triangle(Point[] s) {
sides = new double[s.Length];
sides[0] = Math.Sqrt(Math.Pow((double)(s[1].x - s[0].x), 2.0) + Math.Pow((double)(s[1].y - s[0].y), 2.0));
sides[1] = Math.Sqrt(Math.Pow((double)(s[1].x - s[2].x), 2.0) + Math.Pow((double)(s[1].x - s[2].x), 2.0));
sides[2] = Math.Sqrt(Math.Pow((double)(s[2].x - s[0].x), 2.0) + Math.Pow((double)(s[2].x - s[0].x), 2.0));
}
...
[TestMethod()]
public void TriangleConstructorTest1()
{
Point[] s = null; // TODO: Initialize to an appropriate value
Triangle target = new Triangle(s);
Assert.Inconclusive("TODO: Implement code to verify target");
}
Вы уверены, что вам нужно было также проверить конструктор? Мне кажется бессмысленным, поскольку вы выполняете только некоторые задания. – Tudor
Является ли «стороны» выставлены каким-либо образом? Каковы общедоступные свойства «Треугольника»? –
@ Tudor: На самом деле я склонен не согласиться. Поскольку он выполняет задания, он, вероятно, должен быть проверен модулем, чтобы удостовериться, что он назначает ожидаемое. Но это всего лишь мои 0,02 доллара, и каждый рассматривает модульное тестирование по-разному. –