Я создаю тестовые примеры для своего приложения, разработанного с использованием фреймворка Mojolicious. Я проверяю маршруты для соответствующих ответов на сделанные вызовы REST. Я использую JSON как средство связи между сервером и клиентом. Для проверки запросов GET
, POST
и DELETE
я использую следующие функции
GET : get_ok()
POST: post_json_ok()
DELETE: delete_ok()
но для PUT
я не могу использовать put_ok()
. И пример моего использования put_ok() будет следующим: my $t = Test::Mojo->new;
$t->put_ok('this/is/url/to/resource'=>{ "element" => "modified value"})->status_is(204)
Я каждый раз получаю неверный статус запроса (400), поэтому тест не проходит. Я использую Test::Mojo
для тестирования своего приложения.
Дополнительная информация:
$t->put_ok('http://localhost:3000/application/instances/system/test'=>{"model" => "testing put"})->status_is(204);
Это точный тест для PUT
запроса, который был предпринят.model
— это свойство ресурса test
, которое пытались изменить на testing put
, а ожидаемый ответ статуса — 204
.
Сопоставление с контроллером выполняется $r->route('/application/instances/system/:id, id => qr/[A-Za-z0-9 ]+/ -> via('put')
->to(controller => 'system', action => 'update_sys');
Этот маршрут вызывает метод update_sys
в контроллере system
, и именно так находится ресурс.
put_ok
, я вижуget_ok
. - person Bill Ruppert   schedule 12.12.2012put_ok
- person Ha Sh   schedule 12.12.2012