{"id":93,"date":"2017-01-31T02:03:16","date_gmt":"2017-01-31T02:03:16","guid":{"rendered":"http:\/\/52.201.184.187\/?p=93"},"modified":"2018-01-04T02:59:48","modified_gmt":"2018-01-04T02:59:48","slug":"testeando-php-con-phpunit-y-docker","status":"publish","type":"post","link":"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/","title":{"rendered":"Testeando PHP con phpunit y docker"},"content":{"rendered":"<h2>\u00bfC\u00f3mo empec\u00e9 con PHPUnit y Docker?<\/h2>\n<p>Hace unos d\u00edas estuve modificando un c\u00f3digo en PHP, y como vi que pod\u00eda tornarse un poco dif\u00edcil de mantener, decid\u00ed hacer unos tests unitarios. Para eso us\u00e9 phpunit. Como necesitaba algo r\u00e1pido y no quer\u00eda instalar nada en mi pc, me puse a buscar si ya hab\u00eda alguna imagen de docker con todo listo para poder empezar a testear. Afortunadamente la encontr\u00e9 en <a href=\"https:\/\/github.com\/JulienBreux\/phpunit-docker\">este repositorio<\/a>.<\/p>\n<h2>Paso a paso:<\/h2>\n<ol>\n<li>docker pull phpunit\/phpunit<\/li>\n<li>Tenemos que armar un proyecto que tenga la estructura adecuada para usar phpunit. Prepar\u00e9 un peque\u00f1o <a href=\"https:\/\/bitbucket.org\/etebes\/phpunit-docker\">proyecto de ejemplo<\/a> en el que vamos a basarnos.<\/li>\n<li>Dentro del proyecto encontramos 3 archivos:\n<ol>\n<li>phpunit.xml: aqu\u00ed le indicaremos a phpunit qu\u00e9 es lo que tiene que correr y d\u00f3nde est\u00e1 ubicado<\/li>\n<li>MyCalculator.php: nuestra clase \u00abproductiva\u00bb. Aqu\u00ed declaramos la clase\u00a0MyCalculator , en la que pondremos un m\u00e9todo llamado sumar<\/li>\n<li>MyCalculatorTest.php:\u00a0nuestra clase de test., que invocar\u00e1 a la clase productiva, y har\u00e1 las aserciones necesarias<\/li>\n<\/ol>\n<\/li>\n<li>La imagen trae instrucciones para Linux, pero si estamos en windows, nos situamos en la ra\u00edz de nuestro proyecto y ejecutamos docker run -v [PATH_ABSOLUTO_PROYECTO]:\/app &#8211;rm phpunit\/phpunit tests<\/li>\n<li>Si todo va bien, deber\u00edamos ver correr el test de ejemplo del proyecto<\/li>\n<\/ol>\n<h2>Consejos importantes para que todo funcione:<\/h2>\n<ul>\n<li>No olvidar traer las dependencias de php unit en nuestras clases de test:\u00a0use PHPUnit\\Framework\\TestCase;<\/li>\n<li>Nuestras clases de test deben extender TestCase<\/li>\n<li>Los nombres de nuestras clases de test deben terminar con la palabra \u00abTest\u00bb. Ejemplo: MyCalculator<strong>Test<\/strong><\/li>\n<li>Los nombres de nuestros m\u00e9todos de test deben empezar con la palabra \u00abtest\u00bb. Ejemplo:\u00a0<strong>test<\/strong>_sumar_con2y3_retorna5<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfC\u00f3mo empec\u00e9 con PHPUnit y Docker? Hace unos d\u00edas estuve modificando un c\u00f3digo en PHP, y como vi que pod\u00eda tornarse un poco dif\u00edcil de mantener, decid\u00ed hacer unos tests unitarios. Para eso us\u00e9 phpunit. Como necesitaba algo r\u00e1pido y no quer\u00eda instalar nada en mi pc, me puse a buscar si ya hab\u00eda alguna\u2026 <span class=\"read-more\"><a href=\"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/\">Leer m\u00e1s &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,19,21,3],"tags":[27,23,25,24,26],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Testeando PHP con phpunit y docker - Desarrollo \u00c1gil<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Testeando PHP con phpunit y docker - Desarrollo \u00c1gil\" \/>\n<meta property=\"og:description\" content=\"\u00bfC\u00f3mo empec\u00e9 con PHPUnit y Docker? Hace unos d\u00edas estuve modificando un c\u00f3digo en PHP, y como vi que pod\u00eda tornarse un poco dif\u00edcil de mantener, decid\u00ed hacer unos tests unitarios. Para eso us\u00e9 phpunit. Como necesitaba algo r\u00e1pido y no quer\u00eda instalar nada en mi pc, me puse a buscar si ya hab\u00eda alguna\u2026 Leer m\u00e1s &raquo;\" \/>\n<meta property=\"og:url\" content=\"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/\" \/>\n<meta property=\"og:site_name\" content=\"Desarrollo \u00c1gil\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-31T02:03:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-01-04T02:59:48+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@emilianotebes\" \/>\n<meta name=\"twitter:site\" content=\"@emilianotebes\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emiliano\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"http:\/\/52.201.184.187\/blog\/#website\",\"url\":\"http:\/\/52.201.184.187\/blog\/\",\"name\":\"Desarrollo \\u00c1gil\",\"description\":\"Sofware por y para humanos\",\"publisher\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/52.201.184.187\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#webpage\",\"url\":\"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/\",\"name\":\"Testeando PHP con phpunit y docker - Desarrollo \\u00c1gil\",\"isPartOf\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/#website\"},\"datePublished\":\"2017-01-31T02:03:16+00:00\",\"dateModified\":\"2018-01-04T02:59:48+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"http:\/\/desarrollo-agil.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Testeando PHP con phpunit y docker\"}]},{\"@type\":\"Article\",\"@id\":\"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#webpage\"},\"author\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851\"},\"headline\":\"Testeando PHP con phpunit y docker\",\"datePublished\":\"2017-01-31T02:03:16+00:00\",\"dateModified\":\"2018-01-04T02:59:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#webpage\"},\"wordCount\":292,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851\"},\"keywords\":[\"docker\",\"php\",\"phpunit\",\"TDD\",\"test unitario\"],\"articleSection\":[\"php\",\"phpunit\",\"TDD\",\"Test Unitario\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#respond\"]}]},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851\",\"name\":\"Emiliano\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/52.201.184.187\/blog\/#personlogo\",\"inLanguage\":\"es\",\"url\":\"http:\/\/2.gravatar.com\/avatar\/e2997f02fe4216c2cce9e5a88e3e3726?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/2.gravatar.com\/avatar\/e2997f02fe4216c2cce9e5a88e3e3726?s=96&d=mm&r=g\",\"caption\":\"Emiliano\"},\"logo\":{\"@id\":\"http:\/\/52.201.184.187\/blog\/#personlogo\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/emilianotebes\/\",\"https:\/\/twitter.com\/emilianotebes\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Testeando PHP con phpunit y docker - Desarrollo \u00c1gil","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/","og_locale":"es_ES","og_type":"article","og_title":"Testeando PHP con phpunit y docker - Desarrollo \u00c1gil","og_description":"\u00bfC\u00f3mo empec\u00e9 con PHPUnit y Docker? Hace unos d\u00edas estuve modificando un c\u00f3digo en PHP, y como vi que pod\u00eda tornarse un poco dif\u00edcil de mantener, decid\u00ed hacer unos tests unitarios. Para eso us\u00e9 phpunit. Como necesitaba algo r\u00e1pido y no quer\u00eda instalar nada en mi pc, me puse a buscar si ya hab\u00eda alguna\u2026 Leer m\u00e1s &raquo;","og_url":"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/","og_site_name":"Desarrollo \u00c1gil","article_published_time":"2017-01-31T02:03:16+00:00","article_modified_time":"2018-01-04T02:59:48+00:00","twitter_card":"summary_large_image","twitter_creator":"@emilianotebes","twitter_site":"@emilianotebes","twitter_misc":{"Escrito por":"Emiliano","Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"http:\/\/52.201.184.187\/blog\/#website","url":"http:\/\/52.201.184.187\/blog\/","name":"Desarrollo \u00c1gil","description":"Sofware por y para humanos","publisher":{"@id":"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/52.201.184.187\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es"},{"@type":"WebPage","@id":"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#webpage","url":"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/","name":"Testeando PHP con phpunit y docker - Desarrollo \u00c1gil","isPartOf":{"@id":"http:\/\/52.201.184.187\/blog\/#website"},"datePublished":"2017-01-31T02:03:16+00:00","dateModified":"2018-01-04T02:59:48+00:00","breadcrumb":{"@id":"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"http:\/\/desarrollo-agil.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Testeando PHP con phpunit y docker"}]},{"@type":"Article","@id":"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#article","isPartOf":{"@id":"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#webpage"},"author":{"@id":"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851"},"headline":"Testeando PHP con phpunit y docker","datePublished":"2017-01-31T02:03:16+00:00","dateModified":"2018-01-04T02:59:48+00:00","mainEntityOfPage":{"@id":"http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#webpage"},"wordCount":292,"commentCount":0,"publisher":{"@id":"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851"},"keywords":["docker","php","phpunit","TDD","test unitario"],"articleSection":["php","phpunit","TDD","Test Unitario"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/52.201.184.187\/blog\/phpunit\/testeando-php-con-phpunit-y-docker\/#respond"]}]},{"@type":["Person","Organization"],"@id":"http:\/\/52.201.184.187\/blog\/#\/schema\/person\/d3f309d88ee70165de93b55560c9f851","name":"Emiliano","image":{"@type":"ImageObject","@id":"http:\/\/52.201.184.187\/blog\/#personlogo","inLanguage":"es","url":"http:\/\/2.gravatar.com\/avatar\/e2997f02fe4216c2cce9e5a88e3e3726?s=96&d=mm&r=g","contentUrl":"http:\/\/2.gravatar.com\/avatar\/e2997f02fe4216c2cce9e5a88e3e3726?s=96&d=mm&r=g","caption":"Emiliano"},"logo":{"@id":"http:\/\/52.201.184.187\/blog\/#personlogo"},"sameAs":["https:\/\/www.linkedin.com\/in\/emilianotebes\/","https:\/\/twitter.com\/emilianotebes"]}]}},"_links":{"self":[{"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/posts\/93"}],"collection":[{"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/comments?post=93"}],"version-history":[{"count":6,"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/posts\/93\/revisions"}],"predecessor-version":[{"id":289,"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/posts\/93\/revisions\/289"}],"wp:attachment":[{"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/media?parent=93"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/categories?post=93"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/52.201.184.187\/blog\/wp-json\/wp\/v2\/tags?post=93"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}