如何在Symfony 2中使用Behat和Mink测试REST API

pet*_*ner 7 php rest symfony behat mink

我正在Symfony中构建一个REST API,我想用Behat测试它(使用Mink和symfony2的behat扩展).对于GET方法没有问题,我只是"模拟"一些数据库对象,使用"我在"步骤定义并检查响应.

但是,当测试某个元素的帖子是否有效时,我不知道如何使用Mink发送post params.我知道它可以用Guzzle完成,但我认为通过Mink和Symfony扩展它会更好.

我正在寻找的是定义诸如的步骤的方法

When I POST to <url> the following data:
| field1 | field2 | field3 |
| value1 | value2 | value3 |
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法使用Mink发送它?谢谢!

Car*_*dos 11

你应该这样做:

$session->getDriver()->getClient()->request ('POST', $url, $postdata);
Run Code Online (Sandbox Code Playgroud)

这是mink visit仅使用get而不是post的方法

  • 这仅适用于Goutte驱动程序. (2认同)