Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Testes de API com Codeception

Testes de API com Codeception

Slides da palestra Testes automatizados de API com Codeception

jucycabrera

October 17, 2017
Tweet

More Decks by jucycabrera

Other Decks in Programming

Transcript

  1. Agenda • Pra que serve um teste de API •

    Porque fazer testes de API • Quem é esse Codeception • O que testar • Como instalar e configurar • Como criar um teste de API • Como executar os testes
  2. Pra que serve uma API? API - Application Programming Interface

    Interface de Programação de Aplicações Interface padronizada desenvolvida já com o objetivo de fácil integração com outras aplicações
  3. Testes de API Testa API feita com framework ou não

    Tem módulos para testar API REST, SOAP e RPC Testa respostas em XML ou Json
  4. O que testar? • Status Code (200, 400, 403 …)

    • Retorno • Garantir uma mensagem específica • Verificar retorno de determinado dado
  5. Como instalar o Codeception php composer.phar require "codeception/codeception: 2.2.11" php

    vendor/bin/codecept php vendor/bin/codecept bootstrap php vendor/bin/codecept generate:suite api http://codeception.com/install
  6. Indique a API a ser testada class_name: ApiTester modules: enabled:

    - REST: depends: PhpBrowser url: http://codeception.local/user/ api.suite.yml
  7. Métodos para testar sua API • $I = new ApiTester

    • $I->haveHttpHeader • $I->sendPOST , $I->sendGET, $I->sendDELETE • $I->seeResponseCodeIs • $I->seeResponseIsJson() • $I->seeResponseContains
  8. Exemplo de teste de API $I->wantTo('create a user via API');

    $I->haveHttpHeader('Content-Type', 'application/x-www-form-urlencoded'); $I->sendPOST('/users', ['name' => 'davert', 'email' => '[email protected]']); $I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK); // 200 $I->seeResponseIsJson(); $I->seeResponseContains('{"result":"ok"}'); http://codeception.com/docs/10-WebServices
  9. Como criar um teste de API php codecept generate:cest api

    NewTest http://codeception.com/docs/07-AdvancedUsage
  10. Como executar os testes php codecept run php codecept run

    api php codecept run tests/api/NewTestCest.php php codecept run tests/api/NewTestCest.php --steps php codecept run tests/api/NewTestCest.php --debug http://codeception.com/docs/07-AdvancedUsage