URL解析测试套件

Posted

技术标签:

【中文标题】URL解析测试套件【英文标题】:URL parsing test suite 【发布时间】:2010-10-17 21:48:51 【问题描述】:

我需要测试一些现有 http:// URL 解析代码以符合RFC 3986。

我不想重新发明***并碰到各种极端情况。

是否有一些现有的综合测试套件?

我没有指定我使用的语言,因为我希望测试套件足够通用以适应。不过,我会满足于任何理智的事情。

【问题讨论】:

【参考方案1】:

Addressable Ruby 库有一个非常全面的Spec Suite(618 个示例,123 个示例组中的 800 个期望,超过 3700 个 SLOC),它涵盖了 RfC3986 的大部分内容。代码是here。我不确定您可以如何直接在您的库上运行它,也许您可​​以通过为您的库编写一个与 API 兼容的简单 Ruby 包装器来使其不加修改地工作?否则,规范的模式非常好,因此您应该能够通过一些简单的重命名方法重构和 Regexp-fu 获得相当大的进展。

【讨论】:

【参考方案2】:

这里是a small one for RFC 2396,我认为它来自here,如果有帮助的话。还有this。

【讨论】:

【参考方案3】:

嗯...解析 URL 现在几乎是一个已解决的问题。大多数主要语言都有一个 URI 类或函数,可以完成您需要的所有解析。你确定你真的需要自己动手吗?

以下是一些当今流行语言的 URI 模块链接:

Java C#/.NET php Python Ruby

由于您正在测试现有代码,因此您可以将这些类/函数用作该代码的预期值。只需建立一堆不同类型的有效和无效 URI,然后去镇上。

【讨论】:

感谢您的链接。我有一些遗留代码我还没有准备好扔掉(还)——而且它不是上述语言之一。我需要检查该代码的 URL 解析部分是否正常工作。 嗯,实际上,Addressable::URI Ruby 库是专门创建的,因为 Ruby 标准库中的 URI 库符合 RfC3986(经过几年的抱怨和错误归档仍然没有)。因此,请注意“已解决的问题”一词。记住:每个人都在嘲笑... ...谷歌,因为网络搜索也是“解决问题”。我的意思是,为什么任何人都想使用 AltaVista 以外的任何东西? PHP 使用起来有点麻烦,并且不能处理很多情况,例如带有匿名(相对)协议的 URL。

以上是关于URL解析测试套件的主要内容,如果未能解决你的问题,请参考以下文章

请确保向 获取URL内容传送了URL

JavaScript写一个方法把URL解析成对象

编写混音单元测试时出错:URL 不可解析:remix_accounts.sol

解析导航栏的url

Spring MVC常见面试题解析

在 c# 中解析 URL Xml