En aquest tema, aprendrem com provar i desplegar la nostra aplicació Go. Les proves són una part essencial del desenvolupament de programari, ja que ens ajuden a assegurar-nos que el nostre codi funciona correctament i que no introduïm errors quan fem canvis. El desplegament és el procés de posar la nostra aplicació en producció perquè els usuaris finals puguin accedir-hi.
- Proves en Go
1.1 Tipus de Proves
- Proves Unitàries: Verifiquen la funcionalitat de components individuals del codi.
- Proves d'Integració: Verifiquen que diferents components del sistema funcionen correctament junts.
- Proves de Sistema: Verifiquen el sistema complet en un entorn que simula l'ús real.
1.2 Escriptura de Proves Unitàries
Go té un paquet integrat testing
que facilita l'escriptura de proves unitàries.
Exemple de Prova Unitària
package main import ( "testing" ) // Funció a provar func Suma(a int, b int) int { return a + b } // Prova unitària per a la funció Suma func TestSuma(t *testing.T) { resultat := Suma(2, 3) esperat := 5 if resultat != esperat { t.Errorf("Suma(2, 3) = %d; esperat %d", resultat, esperat) } }
Executar Proves
Per executar les proves, utilitza la comanda:
1.3 Proves d'Integració
Les proves d'integració poden requerir la configuració de recursos externs com bases de dades o serveis web.
Exemple de Prova d'Integració
package main import ( "database/sql" "testing" _ "github.com/lib/pq" ) func TestDatabaseConnection(t *testing.T) { db, err := sql.Open("postgres", "user=postgres dbname=test sslmode=disable") if err != nil { t.Fatal(err) } defer db.Close() err = db.Ping() if err != nil { t.Fatal(err) } }
- Desplegament d'Aplicacions Go
2.1 Construcció de l'Aplicació
Per construir la teva aplicació Go, utilitza la comanda:
Això generarà un executable anomenat myapp
.
2.2 Desplegament en un Servidor
Hi ha diverses maneres de desplegar una aplicació Go. Aquí veurem com fer-ho en un servidor Linux.
Passos per al Desplegament
- Transferir l'Executable: Utilitza
scp
per transferir l'executable al servidor.scp myapp user@server:/path/to/deploy
- Configurar el Sistema: Assegura't que el servidor tingui totes les dependències necessàries.
- Executar l'Aplicació: Inicia l'aplicació en el servidor.
./myapp
2.3 Utilització de Contenidors
Els contenidors com Docker poden simplificar el desplegament.
Exemple de Dockerfile
Construir i Executar el Contenidor
- Millors Pràctiques
3.1 Automatització de Proves i Desplegament
Utilitza eines com CI/CD (Integració Contínua/Desplegament Continu) per automatitzar el procés de proves i desplegament.
3.2 Monitorització i Registre
Implementa eines de monitorització i registre per mantenir la teva aplicació en producció.
3.3 Seguretat
Assegura't que la teva aplicació sigui segura, seguint les millors pràctiques de seguretat.
Conclusió
En aquesta secció, hem après com escriure proves unitàries i d'integració per assegurar-nos que el nostre codi funciona correctament. També hem vist com construir i desplegar la nostra aplicació Go en un servidor, així com utilitzar contenidors per simplificar el procés de desplegament. Finalment, hem revisat algunes millors pràctiques per mantenir la nostra aplicació segura i fiable en producció.
Amb això, hem completat el nostre curs de programació en Go. Ara estàs preparat per desenvolupar, provar i desplegar aplicacions robustes i eficients utilitzant Go. Felicitats!
Curs de Programació en Go
Mòdul 1: Introducció a Go
- Introducció a Go
- Configuració de l'Entorn Go
- El Teu Primer Programa en Go
- Sintaxi i Estructura Bàsiques
Mòdul 2: Conceptes Bàsics
Mòdul 3: Estructures de Dades Avançades
Mòdul 4: Gestió d'Errors
Mòdul 5: Concurrència
Mòdul 6: Temes Avançats
Mòdul 7: Desenvolupament Web amb Go
Mòdul 8: Treballant amb Bases de Dades
Mòdul 9: Desplegament i Manteniment
- Construcció i Desplegament d'Aplicacions Go
- Registre
- Monitorització i Optimització del Rendiment
- Millors Pràctiques de Seguretat