{"id":3189,"date":"2015-08-10T08:35:14","date_gmt":"2015-08-10T13:05:14","guid":{"rendered":"https:\/\/skatox.com\/blog\/?p=3189"},"modified":"2023-02-28T12:10:19","modified_gmt":"2023-02-28T17:10:19","slug":"como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer","status":"publish","type":"post","link":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/","title":{"rendered":"C\u00f3mo crear pruebas unitarias y funcionales con Yii 1.x usando Composer"},"content":{"rendered":"\n<p>Si tienes configurado tu proyecto hecho en<a title=\"Cargar las clases de Yii utilizando composer\" href=\"https:\/\/skatox.com\/blog\/2015\/05\/04\/como-hacer-yii-1-x-cargue-automaticamente-las-clases-de-composer\/\" target=\"_blank\" rel=\"noopener\"> Yii 1.x para cargar las clases mediante composer<\/a> y deseas realizar pruebas automatizadas, notar\u00e1s que existen ciertas incompatibilidades entre Yii 1.x y el PHPUnit del repositorio de composer. A continuaci\u00f3n te explicar\u00e9 como instalarlo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Instalaci\u00f3n de las dependencias<\/h2>\n\n\n\n<p>Lo primero es instalar todos los paquetes necesarios para realizar las pruebas, todas se colocar\u00e1n en la secci\u00f3n <strong>require-dev<\/strong> debido a que solo ser\u00e1n utilizadas durante el desarrollo y no en el servidor de producci\u00f3n para evitar bugs\/exploits, ocupar espacio, rendimiento, etc. El paquete requerido por Yii es <strong>PHPUnit<\/strong>, pero al momento de desarrollo del framework, PHPUnit inclu\u00eda varias funcionalidades que actualmente est\u00e1n disponibles en otros paquetes, por esta raz\u00f3n tambi\u00e9n debemos agregar <strong>php-invoker, phpunit-story<\/strong> y <strong>phpunit-runner<\/strong>. Ahora, si deseas utilizar <a href=\"https:\/\/phpunit.de\/manual\/current\/en\/fixtures.html\" target=\"_blank\" rel=\"noopener\">fixtures<\/a> (datos de prueba) o vas a realizar pruebas con base de datos debes agregar <strong>dbunit<\/strong> como dependencia, si vas a realizar pruebas funcionales agrega <strong>phpunit-selenium<\/strong> y finalmente, si utilizas un generador de pruebas (Netbeans incluye uno) agrega <strong>phpunit-skeleton-generator<\/strong> para con un clic generar un archivo de con los m\u00e9todos de una clase para escribir pruebas.<\/p>\n\n\n\n<p>Entonces la secci\u00f3n de <strong>require-dev<\/strong> en tu <em>composer.lock<\/em> debe quedar as\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"json\" class=\"language-json\">\"require-dev\": {\n\t\"phpunit\/phpunit\": \"4.7.*\",\n\t\"phpunit\/php-invoker\": \"*\",\n\t\"phpunit\/phpunit-story\": \"*\",\n\t\"phpunit\/dbunit\": \">=1.2\",\n\t\"phpunit\/phpunit-selenium\": \">=1.2\",\n\t\"phpunit\/phpunit-skeleton-generator\": \"*\",\n\t\"hot\/phpunit-runner\": \"dev-master\"\n}<\/code><\/pre>\n\n\n\n<p>Luego ejecuta <strong>composer install<\/strong> y tendr\u00e1s las dependencias en tu proyecto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuraci\u00f3n en Netbeans<\/h2>\n\n\n\n<p>Primero se debe configurar el proyecto para indicar cuales son las carpetas con los archivos y la configuraci\u00f3n de phpunit a utilizar, para ello, haz clic derecho en el proyecto. En la parte izquierda entra a la secci\u00f3n de <em>Testing<\/em>, luego en la ventana de di\u00e1logo selecciona <em>PhpUnit<\/em> y en la selecci\u00f3n de la carpeta, escoge <strong>\/protected\/tests\/<\/strong> para indicar que esa es la carpeta de pruebas del proyecto. Finalmente, en la parte inferior se debe seleccionar <strong>PHPUnit<\/strong> en la secci\u00f3n de <em>Testing Providers<\/em><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a  href=\"https:\/\/skatox.com\/blog\/images\/2015\/08\/phpunit-netbeans.png\" data-rel=\"lightbox-gallery-0\" data-rl_title=\"Selecci\u00f3n de PHPunit en Netbeans\" data-rl_caption=\"Selecci\u00f3n de PHPunit en Netbeans\" title=\"Selecci\u00f3n de PHPunit en Netbeans\"><img decoding=\"async\" width=\"567\" height=\"356\" sizes=\"(max-width: 567px) 100vw, 567px\" src=\"https:\/\/skatox.com\/blog\/images\/2015\/08\/phpunit-netbeans.png\" alt=\"Selecci\u00f3n de PHPunit en Netbeans\" class=\"wp-image-3200\"\/><\/a><figcaption class=\"wp-element-caption\">Selecci\u00f3n de PHPunit en Netbeans<\/figcaption><\/figure>\n<\/div>\n\n\n<p>A continuaci\u00f3n, en el panel izquierdo haz clic en PHPUnit, y en el panel derecho:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Selecciona la opci\u00f3n Use Bootstrap y selecciona la ruta <strong>\/protected\/tests\/bootstrap.php<\/strong><\/li>\n\n\n\n<li>Activa la opci\u00f3n de <em>Use Bootstrap for creating new tests<\/em><\/li>\n\n\n\n<li>Selecciona la opci\u00f3n <em>Use XML Configuration<\/em> y selecciona la ruta <strong>\/protected\/tests\/phpunit.xml<\/strong><\/li>\n\n\n\n<li>Use Custom PHPUnit Script y coloca la ruta <strong>\/protected\/external\/phpunit\/phpunit\/phpunit<\/strong><\/li>\n<\/ul>\n\n\n\n<p>De esta forma le indicamos a Netbeans el uso de la configuraci\u00f3n de arranque inclu\u00edda en Yii y que utilice el <em>script<\/em> de PHPUnit que instalamos con <em>composer<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Selecci\u00f3n del PHPUnit de composer<\/h2>\n\n\n\n<p>Ahora necesitamos indicarle a Netbeans que utilice la plataforma de PHPUnit instalada con composer, de lo contrario puede utilizar la que viene incluida en el IDE o la del sistema operativo opertivo, las cuales son incompatibles con las clases incluidas en composer. Para cambiarlo, haz clic al men\u00fa <em>Tools<\/em> y luego <em>Options<\/em>, entra a la secci\u00f3n de PHP, selecciona la pesta\u00f1a de <em>Framework &amp; Tools<\/em>, luego en el panel izquierdo selecciona PHPUnit, y selecciona\/escribe las siguientes rutas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>En la ruta de PHPUnit Scripts, coloca la ruta de <em>phpunit<\/em> de <em>composer<\/em>: <strong>\/protected\/external\/phpunit\/phpunit\/phpunit<\/strong><\/li>\n\n\n\n<li>En la ruta de <em>Skeleton Generator Script<\/em>, <strong>\/protected\/external\/phpunit\/phpunit-skeleton-generator\/phpunit-skelgen<\/strong><\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a  href=\"https:\/\/skatox.com\/blog\/images\/2015\/08\/phpunit-netbeans-composer.png\" data-rel=\"lightbox-gallery-0\" data-rl_title=\"Selecci\u00f3n de scripts de PHPunit de Composer en Netbeans\" data-rl_caption=\"Selecci\u00f3n de scripts de PHPunit de Composer en Netbeans\" title=\"Selecci\u00f3n de scripts de PHPunit de Composer en Netbeans\"><img decoding=\"async\" width=\"600\" height=\"251\" sizes=\"(max-width: 843px) 100vw, 843px\" src=\"https:\/\/skatox.com\/blog\/images\/2015\/08\/phpunit-netbeans-composer-600x251.png\" alt=\"Selecci\u00f3n de scripts de PHPunit de Composer en Netbeans\" class=\"wp-image-3201\" srcset=\"https:\/\/skatox.com\/blog\/images\/2015\/08\/phpunit-netbeans-composer-600x251.png 600w, https:\/\/skatox.com\/blog\/images\/2015\/08\/phpunit-netbeans-composer.png 843w\" \/><\/a><figcaption class=\"wp-element-caption\">Selecci\u00f3n de scripts de PHPunit de Composer en Netbeans<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Ejecuci\u00f3n<\/h2>\n\n\n\n<p>\u00a1Listo! Ya puedes ejecutar las pruebas desde la clase principal con <em>F6<\/em> o desde la clase de pruebas con <em>Alt + F6<\/em>. Ademas, al hacer clic derecho en una clase, puedes entrar al men\u00fa de <em>Tests<\/em> y luego <em>Create Tests<\/em> para crear autom\u00e1ticamente los archivos pruebas, estos ya vienen con los m\u00e9todos que debes escribir y m\u00e9todos para ejecutar m\u00e9todos antes de las pruebas.<\/p>\n\n\n\n<p>Ahora no tienes excusa para probar tu software de forma autom\u00e1tica utilizando Yii.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si tienes configurado tu proyecto hecho en Yii 1.x para cargar las clases mediante composer y deseas realizar pruebas automatizadas, notar\u00e1s que existen ciertas incompatibilidades&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/\">Seguir leyendo<span class=\"screen-reader-text\">C\u00f3mo crear pruebas unitarias y funcionales con Yii 1.x usando Composer<\/span><\/a><\/div>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Como crear pruebas unitarias con #Yii 1.x usando #Composer #php #phpunit","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[549,716,582],"tags":[929,931,855,930,933,932],"class_list":["post-3189","post","type-post","status-publish","format-standard","hentry","category-desarrollo-web","category-todo-lo-relacionado-al-desarrollo-de-software","category-planetas-linux","tag-phpunit","tag-pruebas","tag-tdd","tag-tests","tag-unit-tests","tag-unitarias","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>C\u00f3mo crear pruebas unitarias y funcionales con Yii 1.x usando Composer - El blog de Skatox<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C\u00f3mo crear pruebas unitarias y funcionales con Yii 1.x usando Composer - El blog de Skatox\" \/>\n<meta property=\"og:description\" content=\"Si tienes configurado tu proyecto hecho en Yii 1.x para cargar las clases mediante composer y deseas realizar pruebas automatizadas, notar\u00e1s que existen ciertas incompatibilidades&#8230;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/\" \/>\n<meta property=\"og:site_name\" content=\"El blog de Skatox\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ElWeblogdeSkatox\/\" \/>\n<meta property=\"article:published_time\" content=\"2015-08-10T13:05:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-28T17:10:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/skatox.com\/blog\/images\/2015\/08\/phpunit-netbeans.png\" \/>\n<meta name=\"author\" content=\"Miguel Useche\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@skatox\" \/>\n<meta name=\"twitter:site\" content=\"@skatox\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Miguel Useche\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/2015\\\/08\\\/10\\\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/2015\\\/08\\\/10\\\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\\\/\"},\"author\":{\"name\":\"Miguel Useche\",\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/#\\\/schema\\\/person\\\/e081bf33c5b0f1b0514e253cb578e1ba\"},\"headline\":\"C\u00f3mo crear pruebas unitarias y funcionales con Yii 1.x usando Composer\",\"datePublished\":\"2015-08-10T13:05:14+00:00\",\"dateModified\":\"2023-02-28T17:10:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/2015\\\/08\\\/10\\\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\\\/\"},\"wordCount\":639,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/2015\\\/08\\\/10\\\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/skatox.com\\\/blog\\\/images\\\/2015\\\/08\\\/phpunit-netbeans.png\",\"keywords\":[\"phpunit\",\"pruebas\",\"tdd\",\"tests\",\"unit tests\",\"unitarias\"],\"articleSection\":[\"Desarrollo web\",\"Desarrollo y Programaci\u00f3n\",\"Planetas\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/skatox.com\\\/blog\\\/2015\\\/08\\\/10\\\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/2015\\\/08\\\/10\\\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\\\/\",\"url\":\"https:\\\/\\\/skatox.com\\\/blog\\\/2015\\\/08\\\/10\\\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\\\/\",\"name\":\"C\u00f3mo crear pruebas unitarias y funcionales con Yii 1.x usando Composer - El blog de Skatox\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/2015\\\/08\\\/10\\\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/2015\\\/08\\\/10\\\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/skatox.com\\\/blog\\\/images\\\/2015\\\/08\\\/phpunit-netbeans.png\",\"datePublished\":\"2015-08-10T13:05:14+00:00\",\"dateModified\":\"2023-02-28T17:10:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/2015\\\/08\\\/10\\\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/skatox.com\\\/blog\\\/2015\\\/08\\\/10\\\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/2015\\\/08\\\/10\\\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\\\/#primaryimage\",\"url\":\"https:\\\/\\\/skatox.com\\\/blog\\\/images\\\/2015\\\/08\\\/phpunit-netbeans.png\",\"contentUrl\":\"https:\\\/\\\/skatox.com\\\/blog\\\/images\\\/2015\\\/08\\\/phpunit-netbeans.png\",\"width\":567,\"height\":356,\"caption\":\"Selecci\u00f3n de PHPunit en Netbeans\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/2015\\\/08\\\/10\\\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/skatox.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C\u00f3mo crear pruebas unitarias y funcionales con Yii 1.x usando Composer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/skatox.com\\\/blog\\\/\",\"name\":\"El blog de Skatox\",\"description\":\"Compartiendo mis opiniones inform\u00e1ticas mas all\u00e1 de los 280 caracteres\",\"publisher\":{\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/skatox.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/#organization\",\"name\":\"El blog de Skatox\",\"url\":\"https:\\\/\\\/skatox.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/skatox.com\\\/blog\\\/images\\\/2022\\\/03\\\/tux.png\",\"contentUrl\":\"https:\\\/\\\/skatox.com\\\/blog\\\/images\\\/2022\\\/03\\\/tux.png\",\"width\":218,\"height\":218,\"caption\":\"El blog de Skatox\"},\"image\":{\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/ElWeblogdeSkatox\\\/\",\"https:\\\/\\\/x.com\\\/skatox\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/skatox\\\/\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/MiguelAngelUsecheCastro\",\"https:\\\/\\\/x.com\\\/skatox\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/#\\\/schema\\\/person\\\/e081bf33c5b0f1b0514e253cb578e1ba\",\"name\":\"Miguel Useche\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/skatox.com\\\/blog\\\/wp-content\\\/litespeed\\\/avatar\\\/aec95b02408138cb9d08288435373552.jpg?ver=1778809822\",\"url\":\"https:\\\/\\\/skatox.com\\\/blog\\\/wp-content\\\/litespeed\\\/avatar\\\/aec95b02408138cb9d08288435373552.jpg?ver=1778809822\",\"contentUrl\":\"https:\\\/\\\/skatox.com\\\/blog\\\/wp-content\\\/litespeed\\\/avatar\\\/aec95b02408138cb9d08288435373552.jpg?ver=1778809822\",\"caption\":\"Miguel Useche\"},\"sameAs\":[\"https:\\\/\\\/skatox.com\",\"https:\\\/\\\/x.com\\\/skatox\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C\u00f3mo crear pruebas unitarias y funcionales con Yii 1.x usando Composer - El blog de Skatox","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":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/","og_locale":"es_ES","og_type":"article","og_title":"C\u00f3mo crear pruebas unitarias y funcionales con Yii 1.x usando Composer - El blog de Skatox","og_description":"Si tienes configurado tu proyecto hecho en Yii 1.x para cargar las clases mediante composer y deseas realizar pruebas automatizadas, notar\u00e1s que existen ciertas incompatibilidades&#8230;","og_url":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/","og_site_name":"El blog de Skatox","article_publisher":"https:\/\/www.facebook.com\/ElWeblogdeSkatox\/","article_published_time":"2015-08-10T13:05:14+00:00","article_modified_time":"2023-02-28T17:10:19+00:00","og_image":[{"url":"https:\/\/skatox.com\/blog\/images\/2015\/08\/phpunit-netbeans.png","type":"","width":"","height":""}],"author":"Miguel Useche","twitter_card":"summary_large_image","twitter_creator":"@skatox","twitter_site":"@skatox","twitter_misc":{"Escrito por":"Miguel Useche","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/#article","isPartOf":{"@id":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/"},"author":{"name":"Miguel Useche","@id":"https:\/\/skatox.com\/blog\/#\/schema\/person\/e081bf33c5b0f1b0514e253cb578e1ba"},"headline":"C\u00f3mo crear pruebas unitarias y funcionales con Yii 1.x usando Composer","datePublished":"2015-08-10T13:05:14+00:00","dateModified":"2023-02-28T17:10:19+00:00","mainEntityOfPage":{"@id":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/"},"wordCount":639,"commentCount":0,"publisher":{"@id":"https:\/\/skatox.com\/blog\/#organization"},"image":{"@id":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/#primaryimage"},"thumbnailUrl":"https:\/\/skatox.com\/blog\/images\/2015\/08\/phpunit-netbeans.png","keywords":["phpunit","pruebas","tdd","tests","unit tests","unitarias"],"articleSection":["Desarrollo web","Desarrollo y Programaci\u00f3n","Planetas"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/","url":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/","name":"C\u00f3mo crear pruebas unitarias y funcionales con Yii 1.x usando Composer - El blog de Skatox","isPartOf":{"@id":"https:\/\/skatox.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/#primaryimage"},"image":{"@id":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/#primaryimage"},"thumbnailUrl":"https:\/\/skatox.com\/blog\/images\/2015\/08\/phpunit-netbeans.png","datePublished":"2015-08-10T13:05:14+00:00","dateModified":"2023-02-28T17:10:19+00:00","breadcrumb":{"@id":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/#primaryimage","url":"https:\/\/skatox.com\/blog\/images\/2015\/08\/phpunit-netbeans.png","contentUrl":"https:\/\/skatox.com\/blog\/images\/2015\/08\/phpunit-netbeans.png","width":567,"height":356,"caption":"Selecci\u00f3n de PHPunit en Netbeans"},{"@type":"BreadcrumbList","@id":"https:\/\/skatox.com\/blog\/2015\/08\/10\/como-crear-pruebas-unitarias-funcionales-con-yii-1-x-usando-composer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/skatox.com\/blog\/"},{"@type":"ListItem","position":2,"name":"C\u00f3mo crear pruebas unitarias y funcionales con Yii 1.x usando Composer"}]},{"@type":"WebSite","@id":"https:\/\/skatox.com\/blog\/#website","url":"https:\/\/skatox.com\/blog\/","name":"El blog de Skatox","description":"Compartiendo mis opiniones inform\u00e1ticas mas all\u00e1 de los 280 caracteres","publisher":{"@id":"https:\/\/skatox.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/skatox.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/skatox.com\/blog\/#organization","name":"El blog de Skatox","url":"https:\/\/skatox.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/skatox.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/skatox.com\/blog\/images\/2022\/03\/tux.png","contentUrl":"https:\/\/skatox.com\/blog\/images\/2022\/03\/tux.png","width":218,"height":218,"caption":"El blog de Skatox"},"image":{"@id":"https:\/\/skatox.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ElWeblogdeSkatox\/","https:\/\/x.com\/skatox","https:\/\/www.linkedin.com\/in\/skatox\/","https:\/\/www.youtube.com\/c\/MiguelAngelUsecheCastro","https:\/\/x.com\/skatox\/"]},{"@type":"Person","@id":"https:\/\/skatox.com\/blog\/#\/schema\/person\/e081bf33c5b0f1b0514e253cb578e1ba","name":"Miguel Useche","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/skatox.com\/blog\/wp-content\/litespeed\/avatar\/aec95b02408138cb9d08288435373552.jpg?ver=1778809822","url":"https:\/\/skatox.com\/blog\/wp-content\/litespeed\/avatar\/aec95b02408138cb9d08288435373552.jpg?ver=1778809822","contentUrl":"https:\/\/skatox.com\/blog\/wp-content\/litespeed\/avatar\/aec95b02408138cb9d08288435373552.jpg?ver=1778809822","caption":"Miguel Useche"},"sameAs":["https:\/\/skatox.com","https:\/\/x.com\/skatox"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":5064,"url":"https:\/\/skatox.com\/blog\/2025\/06\/19\/class-already-exists-en-phpunit\/","url_meta":{"origin":3189,"position":0},"title":"Class already exists en PHPUnit","author":"Miguel Useche","date":"19 de junio de 2025","format":false,"excerpt":"Esta semana en el trabajo me top\u00e9 con un error de Class already exists en PHPUnit. El cual me sorprendi\u00f3 porque no ten\u00eda mucho sentido: Mockery\\Exception\\RuntimeException: Could not load mock class MiClase: class already exists Entonces lo primero que pens\u00e9 fue: \u201c\u00a1\u00bfC\u00f3mo que ya existe si lo acabo de crear?!\u201d.\u2026","rel":"","context":"En \u00abDesarrollo web\u00bb","block_context":{"text":"Desarrollo web","link":"https:\/\/skatox.com\/blog\/category\/todo-lo-relacionado-al-desarrollo-de-software\/desarrollo-web\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2545,"url":"https:\/\/skatox.com\/blog\/2013\/01\/09\/automatizacion-de-pruebas-funcionales-con-selenium-en-yii-usando-netbeans\/","url_meta":{"origin":3189,"position":1},"title":"Automatizaci\u00f3n de pruebas funcionales con Selenium en Yii usando Netbeans","author":"Miguel Useche","date":"9 de enero de 2013","format":false,"excerpt":"El t\u00edtulo de esta entrada es un poco largo, pero intentar\u00e9 de explicarles de una manera sencilla como podemos hacer pruebas funcionales en nuestras aplicaciones hechas con el framework de PHP Yii, usando Selenium y Netbeans. Para quienes no conocen las pruebas funcionales, son aquellas para comprobar la correcta ejecuci\u00f3n\u2026","rel":"","context":"En \u00abDesarrollo web\u00bb","block_context":{"text":"Desarrollo web","link":"https:\/\/skatox.com\/blog\/category\/todo-lo-relacionado-al-desarrollo-de-software\/desarrollo-web\/"},"img":{"alt_text":"Servidor Selenium","src":"https:\/\/i0.wp.com\/skatox.com\/blog\/images\/2013\/01\/selenium-server.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":3167,"url":"https:\/\/skatox.com\/blog\/2015\/05\/04\/como-hacer-yii-1-x-cargue-automaticamente-las-clases-de-composer\/","url_meta":{"origin":3189,"position":2},"title":"C\u00f3mo hacer que Yii 1.x cargue autom\u00e1ticamente las clases de Composer","author":"Miguel Useche","date":"4 de mayo de 2015","format":false,"excerpt":"Hoy en d\u00eda si programas una aplicaci\u00f3n en PHP, es muy probable que utilices composer para instalar y manejar las dependencias de tu programa; sin embargo, aunque es f\u00e1cil de utilizar e instalar dependencias, muchas veces tenemos problemas para instanciarlas en nuestra aplicaci\u00f3n por los distintos formatos existentes (debido a\u2026","rel":"","context":"En \u00abDesarrollo web\u00bb","block_context":{"text":"Desarrollo web","link":"https:\/\/skatox.com\/blog\/category\/todo-lo-relacionado-al-desarrollo-de-software\/desarrollo-web\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":6173,"url":"https:\/\/skatox.com\/blog\/2026\/02\/23\/js-archive-li-actualizacion-seguridad\/","url_meta":{"origin":3189,"position":3},"title":"JS Archive List 6.2.0: actualizaci\u00f3n de seguridad, limpieza de i18n y m\u00e1s pruebas automatizadas","author":"Miguel Useche","date":"23 de febrero de 2026","format":false,"excerpt":"Hay actualizaciones \u201ccosm\u00e9ticas\u201d y otras de urgencia, con un enfoque en la calidad, porque resuelven problemas que surgen en producci\u00f3n. La versi\u00f3n 6.2.0 de JS Archive List se clasifica en la segunda categor\u00eda. En la secci\u00f3n de changelog de WordPress, el foco est\u00e1 clar\u00edsimo: es una actualizaci\u00f3n de seguridad y\u2026","rel":"","context":"En \u00abDesarrollo web\u00bb","block_context":{"text":"Desarrollo web","link":"https:\/\/skatox.com\/blog\/category\/todo-lo-relacionado-al-desarrollo-de-software\/desarrollo-web\/"},"img":{"alt_text":"","src":"https:\/\/skatox.com\/blog\/images\/2025\/11\/image-1.avif","width":350,"height":200,"srcset":"https:\/\/skatox.com\/blog\/images\/2025\/11\/image-1.avif 1x, https:\/\/skatox.com\/blog\/images\/2025\/11\/image-1.avif 1.5x, https:\/\/skatox.com\/blog\/images\/2025\/11\/image-1.avif 2x"},"classes":[]},{"id":2268,"url":"https:\/\/skatox.com\/blog\/2012\/01\/14\/auto-completacion-de-codigo-php-con-yii-en-netbeans\/","url_meta":{"origin":3189,"position":4},"title":"Auto-completaci\u00f3n de c\u00f3digo PHP con YII en Netbeans","author":"Miguel Useche","date":"14 de enero de 2012","format":false,"excerpt":"Netbeans es mi IDE favorito desde hace a\u00f1os y \u00faltimamente me ha tocado realizar varios proyectos usando el framework Yii. Para todo desarrollador \/ programador es una realidad que no conocemos en totalidad un lenguaje o framework y por ello siempre estamos acudiendo a la documentaci\u00f3n\u00a0 para repasar sintaxis y\u2026","rel":"","context":"En \u00abDesarrollo web\u00bb","block_context":{"text":"Desarrollo web","link":"https:\/\/skatox.com\/blog\/category\/todo-lo-relacionado-al-desarrollo-de-software\/desarrollo-web\/"},"img":{"alt_text":"Completado de c\u00f3digo PHP con Yii en Netbeans","src":"https:\/\/i0.wp.com\/skatox.com\/blog\/images\/2012\/01\/YiiAutoCompletionNetbeans.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/skatox.com\/blog\/images\/2012\/01\/YiiAutoCompletionNetbeans.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/skatox.com\/blog\/images\/2012\/01\/YiiAutoCompletionNetbeans.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/skatox.com\/blog\/images\/2012\/01\/YiiAutoCompletionNetbeans.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":3662,"url":"https:\/\/skatox.com\/blog\/2018\/01\/15\/unserialize-error-at-offset-x-of-x-bytes-en-php\/","url_meta":{"origin":3189,"position":5},"title":"unserialize(): Error at offset X of X bytes en PHP","author":"Miguel Useche","date":"15 de enero de 2018","format":false,"excerpt":"Hace unos d\u00edas tuve un problema al obtener datos serializados almacenados en una base de datos MySQL. Los datos se guardaban con serialize()\u00a0 (se que con JSON es mejor pero se necesitaba guardar el objeto PHP) pero al momento de cargar el arreglo de objeto con unserialize() me arrojaba el\u2026","rel":"","context":"En \u00abDesarrollo web\u00bb","block_context":{"text":"Desarrollo web","link":"https:\/\/skatox.com\/blog\/category\/todo-lo-relacionado-al-desarrollo-de-software\/desarrollo-web\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/skatox.com\/blog\/wp-json\/wp\/v2\/posts\/3189","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skatox.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/skatox.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/skatox.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/skatox.com\/blog\/wp-json\/wp\/v2\/comments?post=3189"}],"version-history":[{"count":0,"href":"https:\/\/skatox.com\/blog\/wp-json\/wp\/v2\/posts\/3189\/revisions"}],"wp:attachment":[{"href":"https:\/\/skatox.com\/blog\/wp-json\/wp\/v2\/media?parent=3189"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/skatox.com\/blog\/wp-json\/wp\/v2\/categories?post=3189"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/skatox.com\/blog\/wp-json\/wp\/v2\/tags?post=3189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}