2015-10-26 24 views
6

Tôi đang lập một API REST trong Symfony và tôi muốn thử nghiệm nó với Behat (sử dụng Mink và phần mở rộng ứng xử cho symfony2). Không có vấn đề gì đối với phương thức GET, tôi chỉ "chế giễu" một số đối tượng cơ sở dữ liệu, sử dụng định nghĩa bước "I am on" và kiểm tra phản hồi.Làm thế nào để kiểm tra một API REST với Behat và Mink trong Symfony 2

Nhưng khi kiểm tra xem bài đăng của một phần tử nào đó có hoạt động không, tôi không biết cách gửi thông số bài đăng với Mink. Tôi biết nó có thể được thực hiện với Guzzle nhưng tôi nghĩ rằng nó sẽ tốt hơn khi thực hiện nó thông qua Mink và phần mở rộng của Symfony.

cách để xác định một bước như

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

Có cách nào dễ dàng để gửi thông điệp này sử dụng Mink Những gì tôi đang tìm kiếm là gì? Cảm ơn!

+0

Hãy xem này: https://alfrednutile.info/ bài đăng/103 –

+0

@CarlosGranados yep, tôi đã đọc bài viết đó. Vấn đề là làm cho một yêu cầu đăng bài đơn giản và tôi muốn thực hiện một yêu cầu nội bộ cách chồn với symfony – petekaner

+0

[Kiểm tra phản hồi yêu cầu api với behat v2 bao gồm json, xml, html và cli] (http: // www. inanzzz.com/index.php/post/ajqn/api-request-response-testing-with-behat-v2-includes-json-xml-html-and-cli) và [Thử nghiệm phản hồi yêu cầu api với behat v1] (http : //www.inanzzz.com/index.php/post/xw1v/api-request-response-testing-with-behat-v1) – BentCoder

Trả lời

8

Bạn nên làm điều đó như thế này:

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

Đây là những gì chồn sử dụng cho phương pháp visit nó chỉ sử dụng được thay vì bài

+2

Điều này chỉ hoạt động với trình điều khiển Goutte. –

+0

Định dạng của $ postdata là gì? Có phải mảng key => value không? – osantos

+0

Chữ ký $ postdata có trong symfony/browser-kit/Client.php. Có, $ postdata là một mảng kết hợp. – Everett

Các vấn đề liên quan