Когда меня спрашивают о тестировании внешнего кода, я обычно отвечаю что-то вроде Я еще не нашел подходящего инструмента и подхода, но, возможно, это потому, что я действительно не искал. После некоторого поиска я нашел QUnit, и мне очень понравилось, как легко было получить немного образца кода.

Настройка довольно тривиальна, вам просто нужна разметка:

Эта часть {path-to-your-install} будет зависеть от того, как вы устанавливаете QUnit, так как вы можете загрузить файл или установить его с помощью Bower или npm. Я бы рекомендовал использовать любой из двух последних для локальной разработки.

нпм:

npm install --save-dev qunitjs

беседка:

bower install --save-dev qunit

Если вы откроете этот html-файл в браузере, вы должны увидеть что-то вроде этого:

Теперь предположим, что вам нужен класс, который принимает строку, представляющую дробь, и возвращает десятичное значение, полученное в результате операции, тогда у вас будет такой тест:

Вы можете просто обновить страницу, чтобы запустить тест и получить это в браузере:

Чтобы этот тест прошел, наивная реализация, подобная этой, делает свое дело:

Обновите страницу тестов еще раз, и теперь мы получаем тот прекрасный оттенок зеленого tdd, который нам так нравится.

Идем дальше и немного поиграем с тем, что мы создали до сих пор, вот идея для еще одного теста, который нужно добавить: что происходит, когда в функцию подается фиктивный ввод?