Estoy tratando de ejecutar la prueba de unidad mocha para mi aplicación de nodo. La aplicación está construida por una imagen acoplable.
imagen acoplable:
FROM node:6.10.0-alpine RUN mkdir -p /app WORKDIR /app COPY package.json /app RUN npm install COPY . /app EXPOSE 3000 CMD ["npm", "start"]Docker componer:
version: "3" services: web: #### nodejs image build: . volumes: - ./app/ ports: - "3000:3000" depends_on: - db db: build: ##### postgres db image context: . dockerfile: dbDockerfile ports: - 5432:5432 La configuración se puede construir y trabajar como se esperaba. El problema no es que esté seguro de cómo ejecutar los comandos de prueba unitaria como mocha para realizar la prueba.
Veo un módulo llamado unidad de dockunit , pero no estoy seguro de si esa es la única forma por ahora. ¿Alguien puede ayudarme con esto?
Con docker (y docker-compose ), puede ejecutar comandos arbitrarios en un contenedor. El Dockerfile define el comando predeterminado que se ejecuta cuando no se especifica ningún otro comando, pero eso no significa que sea el único que puede ejecutar.
En su caso: npm start se ejecuta cuando no se especifica ningún otro comando. Eso sucede cuando haces docker-compose up .
Pero puede ejecutar cualquier comando usando docker run o docker-compose run . Para sus pruebas, podría verse así: docker-compose run web mocha .
Hay una ligera diferencia en up and run , y lo animo a que lea sobre esto: ¿debo usar docker-compose start up o run?
¿Te ayuda esto a empezar?