Скажем, у нас есть этот гипер простой класс hierchy:Модульное тестирование дочерних классов
public class SomeMath
{
public int Add(int x, int y)
{
return x + y;
}
}
public class MoreMath : SomeMath
{
public int Subtract(int x, int y)
{
return x - y;
}
}
Должен ли я писать тесты для метода Add
, когда я пишу тесты для MoreMath
класса? Или мне нужно только заботиться об этом методе, когда я тестирую класс SomeMath
? В более общем смысле: следует ли тестировать все методы класса, или я должен тестировать только «новые» методы?
Я могу придумать некоторые причины для обеих сторон. Например, при тестировании всех методов вы будете тестировать одно и то же несколько раз, что не так хорошо и может стать утомительным. Но если вы не проверите все методы, изменение в SomeMath
может сломать использование MoreMath
? Который был бы тоже плохой. Полагаю, это, вероятно, немного зависит от дела. Например, если он расширяет класс, который я контролирую или нет. Но в любом случае я новичок в новинках, поэтому мне интересно узнать, что люди умнее, чем я думаю об этом :-)
Учитывая, что вы задали вопрос, который не имеет однозначного правильного или неправильного ответа, я думаю, что это была плохая идея принять ответ только через 7 минут. –
Хорошая точка. Отмечено :) – Svish