Platzi
Platzi

¡Invierte en ti y celebremos! Adquiere un plan Expert o Expert+ a precio especial.

Antes: $349
$259
Currency
Antes: $349
Ahorras: $90
COMIENZA AHORA
Termina en: 9D : 5H : 13M : 35S

Debes iniciar sesión

Para ver esta clase crea una cuenta sin costo o inicia sesión

Implementando pruebas para Boolean y Array

4/16

Probar String

const text = "Hola Mundo";
test('Debe contener Mundo', ()=>{
    expect(text).toMach(/Mundo/);
})

Probar Array

test('¿Tenemos mango?', ()=>{
    expect(fruits).toContain('mango')
})

Probar números

test('Mayor que', ()=>{
    expect(10).toBeGreaterThan(9)
})

Probar booleano

test('Verdadero', ()=>{
    expect(true).toBeTruthy()
})

Probar callback

const reverseString = (str, callback) => {
    callback(str.slipt("").reverse().join(""))
}
test('Probar un callback', ()=>{
    reverseString('hola', (str)=>{
        expect(str).toBe('aloh')
    })
})

Código de la clase

const frameworks = ["React", "Vue", "Angular", "Svelte"];

// Test arrays
test("It should has React", () => {
  expect(frameworks).toContain("React");
});

// Test numbers
test("It should be greater than", () => {
  expect(10).toBeGreaterThan(9);
});

// Test Booleans
test("It should be true", () => {
  expect(true).toBeTruthy();
});

// Reverse strings function
const reverseString = (str, cb) => {
  cb(str.split("").reverse().join(""));
};

// Test callbacks
test("The callback should return a reversed word", () => {
  reverseString("Platzi", str => {
    expect(str).toBe("iztalP");
  });
});

Estoy tratando de entender el porque de las pruebas ?
Porque es necesario ?
Si usamos typescript seria mejor y no nos equivocamos con los tipos de datos?
Perdon mi ignorancia pero necesito entender el porque

Viendo la clase, me entró la curiosidad de ¿Cómo haría si quiero evaluar cada uno de los elementos de un array en un solo test?

Así que me puse a probar con evaluar si todos los elementos de un array eran mayores a 10

const arr = [15, 11, 12, 20, 50];

test("Check if the numbers of an array are grater than 10", () => {
  arr.map((item) => {
    expect(item).toBeGreaterThan(10);
  });
});

De los aprendizajes más curiosos que me llevo es que

  1. La función anónima puede tener mucha más lógica que solamente los expect() y cómo queremos testear. El ejemplo es el .map() que recorre todo el array.
  2. Se puede tener más de un solo expect() dentro de un test, y que si falla al menos uno, falla todo el test

Los invito a probar el código que está arriba, y que jueguen libremente con los test y resuelvan sus dudas probando y rompiendo 😉

La función to Match te permite ver el formato del String que estás pasando lo que lo hace muchísimo más potente. Platzi tiene un curso muy bueno de expresiones regulares dictado por @beco.

Como puedo probar una función que no retorna nada?

muy interesante Oscar Barajas Tavares

Here el código de esta clase 😃
![](carbon (1).png

Cabe resaltar que toBeTruthy() es solo para true, para false usamos toBeFalsy(), ya que Oscar dijo que servia para True o False es bueno resaltarlo.

muy bueno ❤️

Implementar los test con funciones unitarias nos va a garantizar el funcionamiento de algo específico

Puedes hacer CMD + K
Eso lo mismo que el clear y ahorras tiempo 😃

Excelente el orden y yo sufriendo con los QA

Probar String

const text = "Hola Mundo";
test('Debe contener Mundo', ()=>{
    expect(text).toMach(/Mundo/);
})

Probar Array

test('¿Tenemos mango?', ()=>{
    expect(fruits).toContain('mango')
})

Probar números

test('Mayor que', ()=>{
    expect(10).toBeGreaterThan(9)
})

Probar booleano

test('Verdadero', ()=>{
    expect(true).toBeTruthy()
})

Probar callback

const reverseString = (str, callback) => {
    callback(str.slipt("").reverse().join(""))
}
test('Probar un callback', ()=>{
    reverseString('hola', (str)=>{
        expect(str).toBe('aloh')
    })
})

Código de la clase

const frameworks = ["React", "Vue", "Angular", "Svelte"];

// Test arrays
test("It should has React", () => {
  expect(frameworks).toContain("React");
});

// Test numbers
test("It should be greater than", () => {
  expect(10).toBeGreaterThan(9);
});

// Test Booleans
test("It should be true", () => {
  expect(true).toBeTruthy();
});

// Reverse strings function
const reverseString = (str, cb) => {
  cb(str.split("").reverse().join(""));
};

// Test callbacks
test("The callback should return a reversed word", () => {
  reverseString("Platzi", str => {
    expect(str).toBe("iztalP");
  });
});

Estoy tratando de entender el porque de las pruebas ?
Porque es necesario ?
Si usamos typescript seria mejor y no nos equivocamos con los tipos de datos?
Perdon mi ignorancia pero necesito entender el porque

Viendo la clase, me entró la curiosidad de ¿Cómo haría si quiero evaluar cada uno de los elementos de un array en un solo test?

Así que me puse a probar con evaluar si todos los elementos de un array eran mayores a 10

const arr = [15, 11, 12, 20, 50];

test("Check if the numbers of an array are grater than 10", () => {
  arr.map((item) => {
    expect(item).toBeGreaterThan(10);
  });
});

De los aprendizajes más curiosos que me llevo es que

  1. La función anónima puede tener mucha más lógica que solamente los expect() y cómo queremos testear. El ejemplo es el .map() que recorre todo el array.
  2. Se puede tener más de un solo expect() dentro de un test, y que si falla al menos uno, falla todo el test

Los invito a probar el código que está arriba, y que jueguen libremente con los test y resuelvan sus dudas probando y rompiendo 😉

La función to Match te permite ver el formato del String que estás pasando lo que lo hace muchísimo más potente. Platzi tiene un curso muy bueno de expresiones regulares dictado por @beco.

Como puedo probar una función que no retorna nada?

muy interesante Oscar Barajas Tavares

Here el código de esta clase 😃
![](carbon (1).png

Cabe resaltar que toBeTruthy() es solo para true, para false usamos toBeFalsy(), ya que Oscar dijo que servia para True o False es bueno resaltarlo.

muy bueno ❤️

Implementar los test con funciones unitarias nos va a garantizar el funcionamiento de algo específico

Puedes hacer CMD + K
Eso lo mismo que el clear y ahorras tiempo 😃

Excelente el orden y yo sufriendo con los QA