Я получил очень интересный вопрос при написании модульного теста.
Можно ли проверить функцию при использовании функции в коде теста?
Например,
Если у меня есть класс List<int>
, в котором есть функция с именем Add()
.
Я хочу протестировать целевой объект списка с двумя int уже внутри: 1 и 2.
Теперь я добавляю третье число: 3 и хочу утверждать, что число успешно добавлено. Итак, я написал:
public void TestMethod()
{
//initialize
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
//do operation
list.Add(3);
Assert.IsTrue(list.Contains(3));
}
Однако в приведенном выше тесте, который пытается протестировать целевую функцию: Add (), уже используется Add () для инициализации. Я думаю, что это соотношение может привести к некоторой проблеме при некоторых условиях, вообще говоря ...
Есть ли какой-нибудь тест, говорящий, что мы не можем этого сделать?
Спасибо!