Me parece super interesante el proyecto del curso.
Me hace estar más motivado. Gran elección.
Requisitos para tomar el curso
Temario de Unit Testing en Go
Introducción
Importancia del Unit Testing en Go
Proyecto del curso: atrapando pokemones
Primeras pruebas con Go
Tu primera prueba unitaria en Go: objeto T
Paquetes para realizar assertions
Pruebas a la PokeAPI con testify
Manejo de errores y panic en Go
Utilizando mocks
¿Qué son los mocks? ¿Cómo y cuándo mockear?
Llamando APIs externas
Mockeando clientes HTTP
Mockeando mux router
El verdadero valor de tus pruebas
Aumentar coverage vs. testear comportamiento
Un bug inesperado
Cómo interpretar un benchmark
Próximos pasos
¿Quieres más cursos de testing en Go?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Maria Camila Lenis
Aportes 3
Preguntas 0
Me parece super interesante el proyecto del curso.
Me hace estar más motivado. Gran elección.
Cambie un poco la logica para el modelo:
package dto
type Pokemon struct {
Id int `json:"Id"`
Name string `json:"Name"`
Type string `json:"Type"`
Stats Stats `json:"Stats"`
}
type Stats struct {
Hp int `json:"Hp"`
Attack int `json:"Attack"`
Defense int `json:"Defense"`
Speed int `json:"Speed"`
}
func (s *Pokemon) SetAbilities(nameStat string, valueStat int) {
switch nameStat {
case "hp":
s.Stats.Hp = valueStat
break
case "attack":
s.Stats.Attack = valueStat
break
case "defense":
s.Stats.Defense = valueStat
break
case "speed":
s.Stats.Speed = valueStat
break
}
}
y aqui la forma de utilizarlo dentro de la funcion ParsePokemon:
pokemonResponse := dto.Pokemon{
Id: apiPokemon.Id,
Name: apiPokemon.Name,
Type: apiPokemon.PokemonType[0].RefType.Name,
}
for _, stat := range apiPokemon.Stats {
pokemonResponse.SetAbilities(stat.Stat.Name, stat.BaseStat)
}
return pokemonResponse, nil
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?