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

How to test a REST API with Behat and Mink in Symfony 2

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

但是当涉及到测试某个元素的 post 是否有效时,我不知道如何使用 Mink 发送 post 参数。我知道这可以用 Guzzle 来完成,但我认为通过 Mink 和 Symfony 扩展来完成会更好。

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

When I POST to <url> the following data:
| field1 | field2 | field3 |
| value1 | value2 | value3 |

有什么简单的方法可以使用 Mink 发送这个吗?谢谢!

你应该这样做:

$session->getDriver()->getClient()->request ('POST', $url, $postdata);

这就是 mink 仅使用 get 而不是 post

visit 方法