Configuraciones PHP / APACHE

 

Deshabilitar módulo en Apache

sudo a2dismod php8.1

Habilitar módulo en Apache

sudo a2enmod php8.0

Python CheatSheet

Iniciar Anaconda Navigator

//Instalar pre requisitos que lo podemos ver en esta web
//https://docs.anaconda.com/anaconda/install/linux/#
$ sudo apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6

//Descargar el instalador
//https://www.anaconda.com/products/individual#linux
$ sudo chmod +x /directorio-de-descarga/Anaconda3-2020.07-Linux-x86_64.sh
$ .//directorio-de-descarga/Anaconda3-2020.07-Linux-x86_64.sh
$ anaconda-navigator

DJANGO

//Instalar Django
$ pip install Django==3.1.4
//Crear proyecto
$ django-admin startproject project-name
//Ver comandos disponibles
$ python manage.py help
//Activar proyecto
$ python manage.py migrate
//Arrancar servidor
$ python manage.py runserver

Testing

Tipos de testing:

Unit Testing:

Se testea una funcion especifica de una clase. Las pruebas unitarias se hacen en aislamiento, es decir que si la función necesita una conexión a la base de datos, esta se hace una conexion a la base de datos simulada (fake), solo para testear la funcionalidad.

Solo se tienen que hacer un mock de la clase cuando es un servicio, no cuando es una clase del modelo del dominio.

Integration Testing

Igual que el test unitario pero con la diferencia de que si se necesita una conexión con la base de datos esta se hace de verdad.

Functional Testing

Se escriben test para comprobar la funcionalidad de un «proceso», por ejemplo cargar una pagina, rellenar un formulario, enviar la información.

PHPUnit

Magic methods Propósito
setUp Ejecutada antes de cada test
tearDown Ejecutado despues de cada test
setUpBeforeClass Ejecutado antes de cada clase. Setear algo global o estático
tearDownAfterClass Ejecutado despues de cada clase. Setear algo global o estático
onNonSuccessFulTest Ejecutado en un test no exitoso. Sirve para agregar informacion para el debug