Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Набор тестов для синтаксического анализа URL

Автор вопроса: Alexander GladyshОтветов: 3

Мне нужно протестировать существующий http:// код анализа URL-адресов на соответствие RFC 3986. а>.

Не хочется изобретать велосипед и натыкаться на разные закоулки.

Существует ли какой-нибудь комплексный набор тестов для этого?

Я не указываю язык, который использую, так как ожидаю, что набор тестов будет достаточно общим, чтобы его можно было адаптировать. Хотя я бы согласился на что-нибудь разумное.

urlunit-testingparsingstandards-compliancerfc3986

Ответы

Ответ 1 · рейтинг 5 · Jörg W Mittag

Библиотека Addressable Ruby содержит очень полный Spec Suite (618 примеров с 800 ожиданиями в 123 группах примеров, что составляет более 3700 SLOC), который охватывает большую часть RfC3986. Код находится здесь. Я не уверен, как напрямую вы можете запустить это в своей библиотеке, может быть, вы можете заставить его работать без изменений, написав простую совместимую с API Ruby-оболочку для своей библиотеки? В противном случае Spec действительно хорошо структурирован, поэтому вы сможете продвинуться довольно далеко с помощью некоторых простых рефакторингов метода переименования и Regexp-fu.

Ответ 2 · рейтинг 2 · MarkusQ

Вот небольшой документ для RFC 2396, который я думаю, пришло из здесь, если это поможет. Также это.

Ответ 3 · рейтинг 1 · Randolpho

Хм... анализ URL-адресов в наши дни практически решен. В большинстве основных языков есть класс или функция URI, которые выполняют весь необходимый вам анализ. Вы уверены, что вам действительно нужно свернуть свой собственный?

Вот несколько ссылок на модули URI на популярных в наши дни языках:

Поскольку вы тестируете существующий код, вы можете использовать эти классы/функции в качестве ожидаемых значений для этого кода. Просто создайте кучу различных типов действительных и недействительных URI и отправляйтесь в город.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы