Child pages
  • Туториал по написанию теста API
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

С 1.22.00.

Эта страница документации не завершена.

Старт

Для работы API тестов нужно заполнить 2 конфигурационные переменные:

  • $conf{API_TEST_USER_LOGIN} — логин пользователя для тестов
  • $conf{API_TEST_USER_PASSWORD} — пароль пользователя для тестов

Опционально можете заполнить $conf{API_TEST_URL} - URL для тестов. По умолчанию это значение localhost.


Модуль

За пример взят модуль Portal.
Расположение Abills/modules/Portal

Создаём:

  • папку t
  • папку t/schemas
  • папку t/schemas/admin
  • папку t/schemas/user
  • файл t/Api.t

Создаём папки для каждого эндпоинта, в ADMIN или(и) USER API например:

  • articles_list        - GET /portal/articles
  • articles_info       - GET /portal/articles/:id/
  • article_add         - POST /portal/articles
  • articles_update - PUT /portal/articles/:id/
  • article_delete   - DELETE /portal/articles/:id/

И так далее.

Ядро

За пример взят микромодуль Companies.

Расположение - t/Api

Создаём:

  • папку Companies
  • папку Companies/schemas
  • папку Companies/schemas/admin
  • файл Companies/Api.t

Создаём папки для каждого эндпоинта, в ADMIN или(и) USER API например:

  • companies                 - GET /companies
  • company                     - GET /companies/:id/
  • company_add           - POST /companies
  • companies_change - PUT /companies/:id/
  • company_delete      - DELETE /companies/:id/

Создание реквеста и json-schema

И в каждом эндпоинте создаём файлы:

  • request.json - JSON интерпретация заданного реквеста
  • schema.json - JSON-SCHEMA ожидаемого ответа

Про json-schema почитать тут.

  • No labels