Мне нужно протестировать существующий http:// код анализа URL-адресов на соответствие RFC 3986. а>.
Не хочется изобретать велосипед и натыкаться на разные закоулки.
Существует ли какой-нибудь комплексный набор тестов для этого?
Я не указываю язык, который использую, так как ожидаю, что набор тестов будет достаточно общим, чтобы его можно было адаптировать. Хотя я бы согласился на что-нибудь разумное.
Ответ 1 · рейтинг 5 · Jörg W Mittag
Библиотека Addressable Ruby содержит очень полный Spec Suite (618 примеров с 800 ожиданиями в 123 группах примеров, что составляет более 3700 SLOC), который охватывает большую часть RfC3986. Код находится здесь. Я не уверен, как напрямую вы можете запустить это в своей библиотеке, может быть, вы можете заставить его работать без изменений, написав простую совместимую с API Ruby-оболочку для своей библиотеки? В противном случае Spec действительно хорошо структурирован, поэтому вы сможете продвинуться довольно далеко с помощью некоторых простых рефакторингов метода переименования и Regexp-fu.
Ответ 3 · рейтинг 1 · Randolpho
Хм... анализ URL-адресов в наши дни практически решен. В большинстве основных языков есть класс или функция URI, которые выполняют весь необходимый вам анализ. Вы уверены, что вам действительно нужно свернуть свой собственный?
Вот несколько ссылок на модули URI на популярных в наши дни языках:
Поскольку вы тестируете существующий код, вы можете использовать эти классы/функции в качестве ожидаемых значений для этого кода. Просто создайте кучу различных типов действительных и недействительных URI и отправляйтесь в город.