Набор тестов для анализа URL - PullRequest
1 голос
/ 07 апреля 2009

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

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

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

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

Ответы [ 3 ]

4 голосов
/ 07 апреля 2009

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

2 голосов
/ 07 апреля 2009

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

1 голос
/ 07 апреля 2009

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

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

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

...