Основная предпосылка модульного тестирования - запустить метод с некоторыми данными, в котором вы заранее знаете, каким будет результат.
Таким образом, чтобы протестировать метод шифрования, вам нужно сгенерировать несколько совпадающих пар входных и выходных данных. Возьмите строку данных, скажите «Это некоторые тестовые данные». Зашифруйте его, используя стороннее средство шифрования или библиотеку, чтобы получить «Guvf vf fbzr grfg qngn».
Теперь у вас есть пара входных данных с ожидаемым результатом.
Напишите свой модульный тест, чтобы передать входные данные, и проверьте, что выходные данные соответствуют вашему заранее заданному ожиданию. Ваши входные и ожидаемые выходные данные могут быть жестко запрограммированы в модульном тесте в виде строк (или считаны из базы данных, если вы хотите выполнить много пар).
Вопреки общепринятым методам программирования, обычно считается хорошей практикой запускать только модульные тесты с заранее определенными, запланированными и повторяемыми данными. Запуск модульных тестов со случайно сгенерированными строками считается плохой практикой, потому что это означает, что ваши модульные тесты не повторяются.
Очевидно, что та же теория для метода MD5, просто возьмите некоторые примерные данные, запустите их через сторонний инструмент хеширования MD5, а затем используйте пары входных / выходных данных, чтобы проверить, что ваш метод дает правильный вывод. 1011 *