首页 > 解决方案 > Docker Compose + Jest - 测试输出未显示在控制台中

问题描述

我正在使用 Jest 和 supertest 针对我们的 Node API 运行一系列 E2E 测试。我们有一个构建和运行的测试 Dockerfile,npm test我们在这个(简化的)docker-compose 文件中使用它:

version: '3'
services:
    db: .. postgres image ...
    app:
        build:
            context: .
            dockerfile: Dockerfile.e2e
        command: npm run test:e2e
        environment:
            REDIS_HOST: redis
            PORT: 4000
            DB_HOST: db
        links:
            - redis:localhost
            - db
        networks:
            - sdnet
        depends_on:
            - db
            - redis
    redis: ... redis image ...

在我们的 CI 环境(Bitbucket Pipelines)中运行时,我们会得到测试的完整输出: 在此处输入图像描述

但是当我尝试在终端本地运行它时,我可以看到所有 Docker 日志,但看不到 Jest 的输出告诉我哪些测试通过/失败。知道为什么吗? 在此处输入图像描述

标签: javascriptnode.jsdockerjestjs

解决方案


推荐阅读