Dredd @ Devel.cz'16

Dredd @ Devel.cz'16

Naprogramovali jste v Djangu, Rails nebo Symfony svoje HTTP API a chystáte se jej spustit pro vývojáře klientských aplikací. Jenže jak zaručit, aby se váš API server teď i do budoucna choval doopravdy tak, jak to slibujete v dokumentaci?

Musíte svůj kód testovat. Jenže testovat HTTP API, to je pořád samá kontrola status kódů, hlaviček, JSON sem, JSON tam, do nekonečna, do omrzení. V Apiary vyvíjíme testovací framework Dredd, který vám bez ohledu na váš programovací jazyk kontrolu API výrazně ulehčí.

7b2e4bf7ecca28e530e1c421f0676c0b?s=128

Honza Javorek

March 19, 2016
Tweet

Transcript

  1. DREDD Do Justice to Your Web API

  2. HONZA JAVOREK @honzajavorek honzajavorek.cz

  3. Day Night apiary.io Czech Python Community Mascot python.cz Spaghetti Code

    Hunter
  4. None
  5. None
  6. None
  7. None
  8. None
  9. None
  10. API works as in docs

  11. API works as in docs

  12. API doesn't work as in docs

  13. API doesn't work as in docs

  14. vs

  15. vs Tested Untested

  16. How many of you test your web API docs?

  17. Almost nobody!

  18. Why?

  19. None
  20. Tedious Perform request… Assert status code… Assert headers… Assert body

    payload…
  21. Easily gets out of sync Contract in Code Maintaining Docs

    Contract in Docs Testing Code vs
  22. 1. Contract in Docs

  23. API Description API Blueprint apiblueprint.org

  24. API Description Swagger / OAI swagger.io

  25. Lifes depend on that contract

  26. 2. Testing

  27. dredd.readthedocs.org github.com/apiaryio/dredd DREDD

  28. None
  29. None
  30. 100% Open Source

  31. DREDD HOOKS

  32. None
  33. None
  34. CONTINUOUS INTEGRATION

  35. …and any other *NIX environment

  36. REPORTERS

  37. None
  38. None
  39. Public!

  40. APIARY INTEGRATION

  41. None
  42. None
  43. Test Reports from Local Development Test Reports from CI Periodic

    Checks of Production Beta
  44. DREDD BRINGS THE LAW

  45. None
  46. None
  47. THANKS! Dredd dredd.rtfd.org API Blueprint apiblueprint.org @apiblueprint Apiary apiary.io @apiaryio

    Honza honzajavorek.cz @honzajavorek