Я бы сказал, что вы должны поместить свой генератор капчи позади интерфейса и использовать макет (или заглушку) в своем модульном тестировании.
Не уверен, с каким языком вы работаете, но в C # (чисто для того, чтобы я мог написать пример кода - я думаю, что это довольно стандартное решение) вы используете что-то вроде этого:
public interface ICaptchaGenerator
{
string CreateCaptcha();
bool IsCaptchaResponseCorrect(string originalCaptcha, string userResponse);
}
Затем вы вводите это в класс, который в этом нуждается, используя заглушку или макет, чтобы вы могли проверить, что происходит, когда кто-то получает капчу правильно или неправильно.