вариации тестов делают так-же как и задаются изначально - то есть зависит от языка. мне кажется это несложным.
распознавание эмулировать не надо, вы же не алису тестите, а е2е
я бы предложил не тратить много времени и делать быстрый тест на каждый кейс который хочется проверить вручную. По моему опыту (исключительно и только) это докидывает минуту на каждый тест первый раз и убирает часы уже к вечеру, когда прекоммит хук говорит что маааленький фикс сломал что-то
хз... unit не лишние
но пока это все наживую и наскорою руку обычно... а для теста я ирбис купил (одновременно можно и программить и тестить в полу-боевом режиме, через анвык прокси), и есть realtime log через lognpull