Re[15]: Какие есть фрейворки для unit-testов на .net ( кроме DUnit )
От: Abyx Россия  
Дата: 02.10.13 09:51
Оценка:
Здравствуйте, IT, Вы писали:

IT>У меня дома три монитора один посередине 24-х дюймовый, нафига мне экономить? На гитхабе я код смотрю несколько раз в год, а дома каждый день.


у меня тоже широкий монитор, и экран выглядит вот так:
http://gyazo.com/3edd700fad4230deccdf5d8de678eaa4
ширина строки получается чуть больше 80 символов
если мы говорим о поддержке кода несколькими людьми, то у кого-то из них может оказаться 1 маленький монитор, например как у ноута.

IT>Так же очевидно, что дизайн можно сделать как стремящимся к зависимостям от чего-нибудь, так и не стремящимся. Если всё оправдывать наличием моков, то дизайн всячески и со страшной силой будет стремится к зависимостям. Это тоже очевидно. Я, к примеру, ни разу не видел ни одного приложения, где можно было сделать дизайн без моков. Поэтому и спрашиваю вас рассказать и показать.


ок, вот пример:

допустим мы пишем библиотеку, в ней есть функция "сделать сложную штуку", например downloadFile, writeFirmware и т.п.
чтобы она красиво интегрировалась с UI, функция принимает от пользователя некоторый коллбэк и дергает его чтобы сообщить что она сейчас делает

...
callback.finishedInitialization();
...
callback.obtainedCurrentVersion(major, minor);
...
callback.writeProgress(percent, speed);
...
if (callback.abortRequested())
    ...


мы хотим протестировать что библиотека вызывает этот коллбэк, и передает ему то что надо.
для этого нам нужна какая-то его реализация, и мы либо пишем ее руками, либо используем автоматически сгенерированный фейк/мок.

здесь дизайн определяется задачей — "выполнить такой-то процесс; сделать поддержку UI"
In Zen We Trust
Re[5]: Какие есть фрейворки для unit-testов на .net ( кроме DUnit )
От: Andir Россия
Дата: 02.10.13 14:29
Оценка:
Здравствуйте, SergeyT., Вы писали:

ST>Так что по-сути, параметризованные тесты — это такой себе простенький язык для генерации множества тест-кейсов, что вручную получить практически невозможно!


Ясно, спасибо. Я так и подумал Надо будет поглядеть, а то мы всё, по старинке, вручную генерим такой набор.

--
С Уважением, Andir!
using(<< RSDN@Home 1.2.0 alpha 5 rev. 67>>) { /* Работаем */ }
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.