Много раз в модульном тестировании мы сталкиваемся с проблемой определения переменных, которые будут использоваться нашими методами, где их значение не так важно.Иногда нам нужно передать строку и проверить, что вывод - это та же строка.Или, может быть, та же самая строка, но в заглавных буквах.Или что вместо получения этой строки метод, который мы тестируем, возвращает пустую строку.
Как в этих случаях объявлять, присваивать имена и назначать эти переменные?
Например, с учетом контекстаHTML-парсера, который принимает в качестве входных данных URL-адрес:
string google = "http://google.com"
Я говорю о том, что означает переменную, но не о том, почему я использую ее специально (т. е. почему я не использую Yahoo,вместо этого?), в контексте теста.
string someUrl = "http://google.com";
Здесь я говорю, что это «некоторый URL», так что он, вероятно, не важен для целей тестирования.Тем не менее, мне пришлось выбрать какой-то URL.
string someUrl = SomeUrl(); // in this method I just return "http://google.com"
Здесь я заявляю, что URL-адрес не важен, и я скрываю значение переменной в методе, вероятно, не отвлекая читателя теста от неважных деталей.
Верны ли мои рассуждения?Есть ли другие способы решения этой проблемы?
Как вы справляетесь с этим в своих юнит-тестах?