2009-04-06 2 views
1

일부 테스트가 필요합니다 http://RFC 3986에 대한 URL 구문 분석 코드입니다.URL 구문 분석 테스트 모음

나는 바퀴를 재발 명하고 다양한 코너 케이스에 부딪 치고 싶지 않습니다.

기존의 포괄적 인 테스트 스위트가 있습니까?

테스트 스위트를 충분히 적응할 수 있기를 기대하기 때문에 필자가 사용하는 언어는 지정하지 않습니다. 나는 정결 한 무엇이든을 위해 침전 할 것입니다.

답변

4

Addressable Ruby 라이브러리는 매우 포괄적 인 Spec Suite (378 개의 SLOC가있는 123 개의 예제 그룹에서 800 개의 기대치를 가진 618 개의 예제)이며 RfC3986의 대부분을 다루고 있습니다. 코드는 here입니다. 라이브러리에서이 API를 직접 실행할 수있는 방법이 확실하지 않습니다. 라이브러리에 간단한 API 호환 루비 래퍼를 작성하여 수정하지 않고 사용할 수 있을지도 모르겠습니까? 그렇지 않으면 Spec이 실제로 잘 패턴 화되어 있으므로 간단한 Rename Method Refactorings 및 Regexp-fu로는 꽤 멀어 질 수 있습니다.

1

음 ... 구문 분석 URL은 요즘에는 거의 해결 된 문제입니다. 대부분의 주요 언어에는 필요한 모든 구문 분석을 수행하는 URI 클래스 또는 함수가 있습니다. 정말로 자신을 굴릴 필요가 있습니까? 여기

요즘 인기있는 언어로 URI 모듈에 대한 몇 가지 링크입니다 :

기존 코드를 테스트 중이므로 해당 코드의 예상 값으로 해당 클래스/함수를 사용할 수 있습니다. 여러 가지 유형의 유효하고 유효하지 않은 URI를 구축하고 마을로 이동하십시오.

+0

감사합니다. 나는 (아직) 버릴 준비가되지 않은 일부 레거시 코드를 가지고있다 - 그리고 그것은 위의 언어 중 하나에 없다. 해당 코드의 일부분을 구문 분석하는 URL이 올바르게 작동하는지 확인해야합니다. –

+1

사실 Ruby stdlib *의 URI 라이브러리가 RfC3986을 준수하지 않기 때문에 Addressable :: URI Ruby 라이브러리가 특별히 만들어졌습니다. (몇 년 동안 불만을 제기하고 버그 신고를해도 여전히 그렇지 않습니다.) 따라서 "해결 된 문제"라는 용어에주의하십시오. 기억하십시오 : 모두가 웃었습니다 ... –

+1

... 웹 검색이 "문제도 해결 되었기"때문에 Google도. 내 생각에 왜 AltaVista 이외의 다른 사람도 * 누구도 사용하고 싶지 않습니까? –