Не идеально писать тесты после того, как код уже написан. На самом деле это может быть довольно сложно, если вы не пишете вместе тесты и код, поскольку «не тестированный» код редко хорошо подходит для тестирования.
Однако писать тесты в производственный код лучше, чем вообще не иметь тестов. Я рекомендую вам использовать подход добавления тестов для каждого метода, который вы хотите изменить, для каждого нового метода и для каждой ошибки, обнаруженной в коде (до того, как вы начнете исправлять его) ... и таким образом создать набор тестов. *
Какая библиотека вы используете, менее важна. Используйте тот, который вам нравится больше всего. Мои личные предпочтения - Test :: Unit, но RSpec и Shoulda тоже очень популярны.