Holi, soy Nuzkito

y me dedico al desarrollo de software

Cómo mejorar el rendimiento de los tests en Docker for Mac

Es conocido que el acceso al sistema de archivos en Mac desde un contenedor de Docker es lento. Esto da lugar a que, entre otras cosas, los tests que ejecutan consultas a la base de datos sean más lentos que en otros sistemas.

En nuestro caso, en el que usamos MySQL, la mejor forma que hemos encontrado de mejorar el rendimiento ha sido ha sido montar el directorio /var/lib/mysql del contenedor en memoria. De esa forma, los tests se ejecutan en memoria, pero utilizando el mismo motor de base de datos que se usa luego en producción.

Esto se puede configurar de la siguiente forma, en el archivo docker-compose.yml:

services:
    test_database:
        image: mysql
        tmpfs:
            - /var/lib/mysql