Elixir Phoenix: Crear Una Aplicación Con Pruebas (Parte 1: La Configuración)

Actualizado: 16 de enero de 2019

Aprender haciendo

Mi forma preferida de aprender es aprender haciendo. Puedo leer y ver cosas todo el día, pero hasta que conseguir abajo y sucio con el código, que en realidad no hundirse. Una gran manera de aprender haciendo es construir una aplicación para que eso es lo que vamos a hacer!

No será una visión general de alto nivel que explique todo lo que está sucediendo. Es más bien un recorrido para aquellos que tienen cierta familiaridad con Elixir y Phoenix, pero aún no han creado su primera aplicación. Estoy usando Phoenix 1.4 y Elixir 1.8 para este tutorial.

La funcionalidad será simple. Puede crear una cuenta. Puede buscar y ver videos. Puedes añadir nuevos vídeos. Habrá algunas complejidades como obtener información de la API de YouTube para agregar videos y usar CSS Tailwind en lugar del miligramo predeterminado (Miligramo reemplazado por Bootstrap en Phoenix 1.4). Sin embargo, dado que ya me he tomado la molestia de luchar contra el código para que las cosas funcionen, todo debería ir sin problemas para ti.

Avísame si te quedas atascado en algún momento y estaré encantado de ayudarte. ¡Empecemos!

NOTA: Si te quedas atascado en cualquier momento, puedes dejarme un comentario o consultar el repositorio en GitHub. Cada parte tiene su propia rama y se enlazará al principio con (GitHub). También habrá hashes de confirmación a lo largo para que pueda ver lo que se hizo para una sección en particular. Se verán como los siguientes (70ea207). Si están en un subtítulo, la confirmación pertenece a toda esa sección. De lo contrario, la confirmación se compartirá al final del texto correspondiente.

Generar la aplicación (70ea207) (GitHub)

vamos a construir Catcasts. Será un lugar para compartir tus videos favoritos de gatos de YouTube. El usuario se creará al iniciar sesión con Google. Los videos se crearán publicando una URL en la API de YouTube y recuperando la información. Esta información se utilizará para crear una página con el vídeo incrustado.

Si aún no tiene Elixir y Phoenix instalados, puede seguir la guía Elixir y la guía Phoenix. Ahora suponiendo que ya está hecho, es hora de crear nuestra aplicación. Ejecutamos mix phx.new catcasts para generar nuestra aplicación, y cuando pide «¿Recuperar e instalar dependencias? «diremos » y».

Configurar Postgres (975847b)

Al final de la generación de nuestra aplicación, obtenemos algunas instrucciones útiles sobre lo que debemos hacer a continuación.

Salida desde la generación de nuestra app

La primera cosa que debemos hacer después de ejecutar cd catcasts y antes de ejecutar mix ecto.create es configurar nuestra base de datos. Dependiendo de cómo tenga su configuración local de Postgres, hay una buena probabilidad de que su entorno local el nombre de usuario sea su directorio personal (para mí sería la memoria de Brian), y su campo de contraseña esté vacío. Abramos nuestro archivo config/dev.exs y configuremos nuestra base de datos.

Nota: Si no tiene configurado Postgres en su máquina local, Heroku tiene una guía útil para configurarlo. Si está utilizando Homebrew, puede ejecutar brew install postgresql en la línea de comandos.

config / dev.exs

Luego puede ejecutar mix ecto.create, su aplicación se compilará y luego verá el maravilloso mensaje, » La base de datos para Catcasts.Repo ha sido creado.»En este punto, puede ejecutar mix phx.server y visitar http://localhost:4000 para ver » ¡Bienvenido a Phoenix!»

NOTA: Si ves un mensaje similar a » ¿Instalo barras de refuerzo?3? (si se ejecuta de forma no interactiva, use «mezclar local.fuerza de barras de refuerzo»)», siga adelante y seleccione «y».

También tenemos tres pruebas que se crearon con la aplicación que están pasando actualmente. Para verlos pasar, primero también debemos actualizar la configuración de nuestra base de datos en config/test.exs.

config / test.exs

Ahora puede ejecutar las pruebas utilizando mix test(su aplicación se compilará antes de ejecutar las pruebas) y verá el precioso texto verde «3 pruebas, 0 errores».

Deja una respuesta

Tu dirección de correo electrónico no será publicada.