我对整个测试场景都很陌生。我一直在阅读有关BDD测试的内容(在我的情况下,我正在编写PHP应用程序,因此我正在研究Behat作为BDD框架),我发现它非常有趣。 我在网上搜索了关于api包装器的bdd测试的一些信息,但我发现了很多不同的结果。
我打算用REST api编写一个服务的应用程序。但我还需要编写PHP api包装器。所以我的问题是,我应该为包装器编写测试以及我要编写什么样的测试?
答案 0 :(得分: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卷曲友好的方式,但没有尖尖的点击的东西。
如果您用于REST api的语言和框架有一个不错的单元测试包,那么特别是在有意义的地方也这样做。我知道你使用的是php而且我讨厌在php中进行单元测试,但有时候当你想要保护某些方法时,你不能以任何其他方式来验证某些方法是否正确。
我见过使用像Jasmine或qUnit这样的javascript测试框架创建的成功的api测试套件。
这一切都取决于你对你的api感到满意和你的api的性质以及你认为api的哪些特性很重要。