4

我对整个测试场景很陌生。我一直在阅读有关 BDD 测试的文章(在我的情况下,我正在编写 PHP 应用程序,因此我正在研究 Behat 作为 BDD 框架),我发现它非常有趣。我在网上搜索了一些关于 api 包装器的 bdd 测试的信息,但我发现了很多不同的结果。

我将使用 REST api 为服务编写应用程序。但我还需要编写 PHP api 包装器。所以我的问题是,我应该为包装器编写测试吗?我应该编写什么样的测试?

4

1 回答 1

0

BDD 框架可以工作,但考虑到 selenium、使用 api 的应用程序以及 api 内部发生的事情之间可能发生的事情的可能性,它可能被证明是脆弱的。

有一种很棒的 php 方法可以做到这一点 http://docs.guzzlephp.org/en/latest/

如果您喜欢其他语言,您可以使用 Mule ESB 对 Web 服务 api 进行测试。我发现它非常擅长针对服务或任何 http 运行自定义任何东西。如果您喜欢 groovy 或 java,那么 Mule ESB 非常适合直接到达端点以将响应分开并触发有效和无效请求。它有一个尖尖的点击界面,可提供多种可能性。如果您的 api 返回 xml,您有很多方法可以直接解析它。它也适用于 JSON。即使您为数据响应创建了自己的格式,您也可以相当轻松地深入研究它。Guzzle 为您提供了许多相同的功能,但以 php curl 友好的方式提供,但没有尖锐的点击内容。

如果您用于 REST api 的语言和框架有一个不错的单元测试包,那么也可以这样做,尤其是在有意义的地方。我知道您正在使用 php,并且我讨厌 php 中的单元测试,但有时当您想保护某些方法时,您无法以任何其他方式验证某些方法是否正确。

我也看到了使用 Jasmine 或 qUnit 等 javascript 测试框架创建的成功的 api 测试套件。

这完全取决于您对什么感到满意,以及您的 api 的性质以及您认为需要涵盖的 api 的哪些功能。

于 2013-01-08T05:52:40.007 回答