IIC2233 / Syllabus

146 stars 13 forks source link

No entiendo como utilizar los "Test case" en la AC0 (actividad 0) #7

Closed josegdotcom closed 2 months ago

josegdotcom commented 3 months ago

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

Problema: Me encuentro en la parte final de la actividad y francamente no entiendo como utilizar los test case públicos para poder revisar y la parte de mi codigo están funcionando bien. Que debo hacer para poder utilizar los test case?

josegdotcom commented 3 months ago

Si alguien sabe y logro hacerlo bien, subo un video tutorial de como hacer la actividad 0, obviamente explicando como utilizar los test case y las 3 primeras partes, si es que me permiten.

Hernan4444 commented 3 months ago

Hola @josegdotcom

Esperando que estés bien, primero respondo al segundo comentario:

No se puede compartir un video cómo lo indicado, el curso no respalda la publicación de un video tutorial por parte de los alumnos en el foro oficial del curso. Cada alumno debe lograrlo con los contenidos del curso, el enunciado y preguntando en el foro de ser necesario. La creación de un video tutorial por parte de un alumno puede generar varios conflictos más adelante, por ejemplo:

  1. Que luego algún alumno interprete que pueden hacer un video tutorial para cualquier otra evaluación, pero las tareas son 100% individual y compartir ese tipo de apoyo ya cae en una falta a la integridad académica.

  2. Como será un material externo al curso, el cuerpo docente no validará su contenido ni su veracidad . Por lo cual, si el video llega a contener algún error o enseña algo de una forma que no corresponde al curso, al final el alumno receptor de ese video puede acarrear errores que el curso no esperaba, y que el curso tampoco se responsabilizará.

De todas formas, análoga a otros cursos, si quieren apoyarse con material, como apuntes, videos, etc. esto ya no es jurisdicción del curso, solo que el foro oficial de dudas no será un espacio para compartir eso. Pero tampoco podemos prohibir publicar un video (eso ya cae en la libertad de expresión), pero si un video/material externo llega a ocasionar un caso de integridad académica, todos los involucrados (quien comparte material y quien lo recibe) serán sancionados.

Respecto a la duda de los tests case, digamos que tenemos la carpeta llamada AC0 con el siguiente formato:

AC0
  - main.py
  - tests_publicos
      - tests_1.py
      - tests_2.py

La idea es que la terminal quede posicionada justo en AC0. De modo que si escribes python3 main.py se ejecute tu archivo main.py. Para moverte en la terminal, recomiendo revisar el comando cd (semana 2 - terminal.ipynb) o bien revisar el pdf "Pasos para estudiar los contenidos.pdf".

Ahora, para probar los tests, desde la terminal tienes 2 opciones (que son las indicadas en la última página del enunciado)

  1. Ejecutar todos los tests escribiendo: python3 -m unittests discover tests_publicos -v -b. Esto imprimirá en consola el nombre de cada tests y un "ok" indicando que está bien. En caso de fallar, en consola te dirá qué tests falló y el nombre del tests te dará indicios de qué parte de tu código tiene algún error.

  2. Ejecutar un archivo específico escribiendo python3 -m unittest -v -b tests_publicos.tests_1. El resultado será igual que la opción 1, pero ahora solo se ejecutan los tests de 1 archivo y no todos.

Espero que haya resuelto tu duda, pero si tienes cualquier otra pregunta o no entendiste algo, no dudes en preguntar 😁 ¡Éxito con las actividades! 🦖 Saludosヾ(^-^)ノ

GasparSalas commented 2 months ago

Hola, ejecuto el codigo como dice, pero me aparece el error de que no encontro el modulo test_publicos

Hernan4444 commented 2 months ago

Hola @GasparSalas

Ojo que no es test_publicos sino que tests_publicos (una s en el test).. Si corrigiendo eso y asegurando todo lo que explicité arriba (tener la carpeta tests_publicos y la terminal correctamente posicionada en la actividad correspondiente), entonces no te debería salir ese error.

¡Éxito con las actividades! 🦖 Saludosヾ(^-^)ノ