Zend framework2 PHPUnit:404每个请求的代码

Zend framework2 PHPUnit:404每个请求的代码,zend-framework2,phpunit,laminas-api-tools,Zend Framework2,Phpunit,Laminas Api Tools,在我的流浪机器里有A和B两个项目。可通过和http//b.local/工作和访问。这些是Apigility API 我现在正在用PHPUnit编写测试。 我想测试项目A是否可以调用项目B上的服务,并检查: 响应代码是200 响应是JSON 等等 PHPUnit持续失败,因为调用任何服务(从a到b或从b到a)时响应为404: {404=>字符串(54)” “标题”=> 字符串(9)“未找到” “状态”=> 内部(404) “详细信息”=> 字符串(15)“未找到页面”。} 所有URL都可以通过浏览

在我的流浪机器里有A和B两个项目。可通过和http//b.local/工作和访问。这些是Apigility API

我现在正在用PHPUnit编写测试。 我想测试项目A是否可以调用项目B上的服务,并检查:

  • 响应代码是200

  • 响应是JSON

  • 等等

  • PHPUnit持续失败,因为调用任何服务(从a到b或从b到a)时响应为404:

    {404=>字符串(54)” “标题”=> 字符串(9)“未找到” “状态”=> 内部(404) “详细信息”=> 字符串(15)“未找到页面”。}

    所有URL都可以通过浏览器访问

    所有URL都可以通过Curl访问

    Browser和Curl返回相同(相同)的响应和http代码

    /正确配置了etc/hosts文件

    对于cli和fmp,PHP.ini文件是相同的


    知道我做错了什么吗?谢谢

    php单元可能更适合于测试应用程序的较小部分(单元测试)。当然,您也可以进行Curl测试,但可能有更好的解决方案(REST测试解决方案/框架)可以做到这一点

    如果要使用Curl测试完整的应用程序,必须确保php单元引导加载所有应用程序依赖项


    另外,最好编写一个抽象包装器或测试用例,专门用于使用Curl请求测试RESTAPI,这样就不必重复太多代码。检查以了解如何做到这一点。但我敢打赌,网上有更多的例子,也许你应该在谷歌上搜索一下。

    你没有安装ZF\Rest。用于创建rest资源(包括条令控制器)的抽象工厂位于该模块中。

    很抱歉回答得太晚,安装了zf campus/rest。我仍然得到404,甚至更多,在localhost中调用同一个项目,我从任何其他软件和php单元得到不同的响应。看起来php单元只能得到404或200,无法得到任何其他代码。有什么想法吗?