Вы не сказали самого главного - нужен валидный email, на который придет письмо с ссылкой на активацию, либо произвольный? Во втором случае Guid либо Timestamp вам в помощь.
Ну так проверка как раз для вашей задачи, для того чтобы убедиться, что нет такого емейла, который вы будете регистрировать.
Есть пару способов, как это можно сделать:
Использовать <рандомное имя емейла>@mailinator.com http://mailinator.com/ позволяет вам создать любые емейлы и отправлять на них емейлы. Дальше, что нужно сделать так просто найти ваш емейл и посмотреть. Это можно сделать как руками так и автоматически через POP3
Использовать внешний файл с данными. Заходим на какой-то из сервисов (например, http://www.generatedata.com/) , генерируем нужный файл руками, пишем код, который читает файл
Я помню когда-то в интернете еще находил публичные вебсервисы, которые выдавали рандомные тестовые данные по запросу. Но сейчас названия проекта не помню. А смысл в том, что выполняешь http get запрос на определенный url, получаешь данные, используешь в тестах.
А на счет конкретных примеров, времени сейчас нет их писать. Попробуйте сами что-то сделать, а если не получиться, пишите. А на каком языке вы программируете?
в принципе тот же…мне нужно, к примеру, сделать проверку эмейла, спецсимволы входят в категорию возможных вариантов…
и , если подгружать файлом, то можно их туда забить…
Потому что Code injection - это совсем другая тема, которая никак не коррелирует с названием вашего топика. Плюс вы смешиваете негативные и позитивные тесты - данные для которых тоже находятся по “разные стороны баррикад”.
static final String AB = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
static Random rnd = new Random();
String randomString( int len )
{
StringBuilder sb = new StringBuilder( len );
for( int i = 0; i < len; i++ )
sb.append( AB.charAt( rnd.nextInt(AB.length()) ) );
return sb.toString();
}
Согласен с @vmaximv. Рандом длиной 5 довольно мал, есть немалая вероятность (хоть и не такая большая) повторения.
Для унификации в данном случае вполне можно использовать timestamp, например. Тогда повторения не будет 100% (если только время на машине не отматывать)