Когда меня спрашивают о тестировании внешнего кода, я обычно отвечаю что-то вроде Я еще не нашел подходящего инструмента и подхода, но, возможно, это потому, что я действительно не искал. После некоторого поиска я нашел QUnit, и мне очень понравилось, как легко было получить немного образца кода.
Настройка довольно тривиальна, вам просто нужна разметка:
Эта часть {path-to-your-install} будет зависеть от того, как вы устанавливаете QUnit, так как вы можете загрузить файл или установить его с помощью Bower или npm. Я бы рекомендовал использовать любой из двух последних для локальной разработки.
нпм:
npm install --save-dev qunitjs
беседка:
bower install --save-dev qunit
Если вы откроете этот html-файл в браузере, вы должны увидеть что-то вроде этого:
Теперь предположим, что вам нужен класс, который принимает строку, представляющую дробь, и возвращает десятичное значение, полученное в результате операции, тогда у вас будет такой тест:
Вы можете просто обновить страницу, чтобы запустить тест и получить это в браузере:
Чтобы этот тест прошел, наивная реализация, подобная этой, делает свое дело:
Обновите страницу тестов еще раз, и теперь мы получаем тот прекрасный оттенок зеленого tdd, который нам так нравится.
Идем дальше и немного поиграем с тем, что мы создали до сих пор, вот идея для еще одного теста, который нужно добавить: что происходит, когда в функцию подается фиктивный ввод?