"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Escribe una función de prueba mientras aprendes javascript

Escribe una función de prueba mientras aprendes javascript

Publicado el 2024-07-30
Navegar:574

Write a test function while learning javascript

Objetos por todas partes

Bueno, probablemente hayas oído hablar antes de los objetos en JavaScript y de lo importantes que son para comprender el lenguaje.
Los objetos hacen que JS sea extremadamente legible y útil debido a su modelo "clave": "valor". Pero lo que quiero destacar es que la sección "valor" acepta no sólo una cadena simple, sino otro objeto, que a su vez puede ser otro objeto y así sucesivamente. Por ejemplo:

const character = {
      name:"Arthur Morgan",
      age:24,
      face: {
      hairSize:5,
      eyesColor: "blue",
      }
}

Este fragmento muestra que la cara es un objeto además de un personaje. Está perfectamente bien hacerlo, y muchas API complejas manejan datos como ese, agrupándolos una y otra vez cuando es importante.

Pero el poder real de los objetos depende de funciones, y este problema de Leet Code lo aborda, además de darnos la esencia de cómo funcionan las bibliotecas de prueba internamente. Básicamente necesitas una función que valide si un valor es igual al esperado o no: toBe() y notToBe(). Para hacerlo, podemos devolver un objeto con esas funciones. Por cierto, usar funciones de flecha lo hace más bonito y directo.

Aquí está la respuesta.

function expect(val) {
  function toBe(anotherValue) {
    if (val === anotherValue) {
      return true;
    }

    throw Error("Not Equal");
  }

  function notToBe(anotherValue) {
    if (val !== anotherValue) {
      return true;
    }

    throw Error("Equal");
  }

  return {
    toBe: (anotherValue) => toBe(anotherValue),
    notToBe: (anotherValue) => notToBe(anotherValue),
  };
}

Podemos verlo rápidamente ejecutándose usando otro objeto: la famosa consola y su registro de funciones.

console.log(expect(5).toBe(null)); // give us an error "Not Equal", because 5 is not null

Tenga en cuenta que el hecho de devolver un objeto nos da la libertad de usar expect() y luego, justo después, .toBe(). Esto se debe a que devolvemos un objeto e inmediatamente accedemos a la propiedad toBe, que es una función.

Este problema de código Leet es una excelente manera de ver cómo los objetos y las funciones pueden trabajar juntos y crear cosas increíbles en JavaScript. Espero que te haya gustado :)

Declaración de liberación Este artículo se reproduce en: https://dev.to/leonardoschmittk/write-a-test-function- while-learning-javascript-2i59?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3