Elixir Phoenix: crearea unei aplicații cu teste (Partea 1: Configurarea)

actualizat: 16 ianuarie 2019

învață făcând

modul meu preferat de a învăța este să învăț făcând. Pot să citesc și să privesc lucrurile toată ziua, dar până când nu mă murdăresc cu codul, nu se scufundă cu adevărat. O modalitate foarte bună de a învăța de a face este de a construi o aplicație, astfel încât este ceea ce vom face!

nu va fi o imagine de ansamblu la nivel înalt care să explice tot ce se întâmplă. Este mai mult o plimbare pentru cei care au o anumită familiaritate cu Elixir și Phoenix, dar încă nu și-au construit prima aplicație. Folosesc Phoenix 1.4 și Elixir 1.8 pentru acest tutorial.

funcționalitatea va fi simplă. Puteți crea un cont. Puteți căuta și vizualiza videoclipuri. Puteți adăuga videoclipuri noi. Vor exista unele complexități, cum ar fi obținerea de informații de la API-ul YouTube pentru a adăuga videoclipuri și utilizarea TAILWIND CSS în loc de miligram implicit (miligram înlocuit Bootstrap în Phoenix 1.4). Cu toate acestea, din moment ce am trecut deja prin probleme de a lupta cu codul pentru a face lucrurile să funcționeze, totul ar trebui să meargă fără probleme pentru tine.

Anunță-mă dacă te blochezi în orice moment și voi fi fericit să te ajut. Să începem!

NOTĂ: Dacă te blochezi în orice moment, poți să-mi lași un comentariu sau să verifici repo-ul pe GitHub. Fiecare parte are propria ramură și va fi legată la început cu (GitHub). Nu va fi, de asemenea, comite hash-uri de-a lungul astfel încât să puteți vedea ce sa făcut pentru o anumită secțiune. Acestea vor arăta ca cele de mai jos (70ea207). Dacă se află într-o subpoziție, angajamentul se referă la toată secțiunea respectivă. În caz contrar, comiterea va fi partajată la sfârșitul textului relevant.

genera app (70ea207) (GitHub)

vom construi Catcasts. Acesta va fi un loc pentru a partaja videoclipurile preferate YouTube cat. Utilizatorul va fi creat prin conectarea cu Google. Videoclipurile vor fi create prin postarea unei adrese URL către API-ul YouTube și obținerea informațiilor înapoi. Aceste informații vor fi utilizate pentru a crea o pagină cu videoclipul încorporat.

dacă nu aveți deja Elixir și Phoenix instalate, puteți urma ghidul Elixir și Ghidul Phoenix. Acum, presupunând că se face, timp pentru a crea aplicația noastră. Rulăm mix phx.new catcasts pentru a genera aplicația noastră, și atunci când se cere „Fetch și instalați dependențe? „vom spune „y”.

configurați Postgres (975847b)

la sfârșitul aplicației noastre generate, primim câteva instrucțiuni utile despre ceea ce trebuie să facem în continuare.

ieșire din generarea aplicației noastre

primul lucru pe care trebuie să-l facem după ce rulăm cd catcasts și înainte de a rula mix ecto.create este configurarea bazei noastre de date. În funcție de modul în care aveți configurarea Postgres locală, există o șansă bună pentru mediul dvs. local numele de utilizator este directorul dvs. de acasă (pentru mine ar fi thebrianemory), iar câmpul dvs. de parolă este gol. Să deschidem fișierul config/dev.exs și să configurăm Baza noastră de date.

Notă: Dacă nu aveți Postgres configurat pe mașina locală, Heroku are un ghid util pentru obtinerea-l înființat. Dacă utilizați Homebrew, puteți rula în schimbbrew install postgresql în linia de comandă.

config / dev.exs

puteți rula apoimix ecto.create, aplicația va compila, iar apoi veți vedea mesajul minunat, „baza de date pentru Catcasts.Repo a fost creat.”În acest moment puteți rula mix phx.serverși vizitațihttp://localhost:4000 pentru a vedea ” Bine ați venit la Phoenix!”

NOTĂ: Dacă vedeți un mesaj similar cu „să instalez rebar3? (dacă rulează non-interactiv, utilizați ” mix local.rebar-force”)”, mergeți mai departe și selectați”y”.

avem, de asemenea, trei teste care au fost create cu aplicația care trec în prezent. Pentru a le vedea trecând, mai întâi trebuie să actualizăm setările bazei noastre de date în config/test.exs.

config / test.exs

puteți rula acum testele folosindmix test (aplicația va compila înainte de a rula testele) și a vedea textul verde minunat „3 teste, 0 eșecuri”.

Lasă un răspuns

Adresa ta de email nu va fi publicată.