如何将报告测试写入控制台

How to write report test to console

我正在使用 gradle-6.5,当我在我的笔记本电脑上构建我的应用程序时,一切都很好,但是如果我尝试 运行 docker 上的相同命令,一些测试是失败或出现问题。
我遇到如下异常:

 Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':test'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid(ExecuteActionsTaskExecuter.java:207)
        at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:205)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:186)
...
Caused by: org.gradle.api.GradleException: There were failing tests. See the report at: file:///tmp/reports/tests/test/index.html
        at org.gradle.api.tasks.testing.AbstractTestTask.handleTestFailures(AbstractTestTask.java:628)
        at org.gradle.api.tasks.testing.AbstractTestTask.executeTests(AbstractTestTask.java:499)
        at org.gradle.api.tasks.testing.Test.executeTests(Test.java:646)

我想知道是否可以通过某种方式将放置在 index.html 文件中的文本写入控制台或将此文件复制到我的笔记本电脑。 为了在 docker 中构建我的应用程序,我使用以下命令:

docker build -t myapp .

您想将包含测试报告(例如 index.html)的 build/reports/tests/test/ 目录下载到您的本地计算机上。您必须使用 docker-compose.yml 来镜像相关目录:

version: '3.8'
services:
  chat:
    build:
      dockerfile: Dockerfile
      context: .
    command: gradle run
    working_dir: /home/gradle/project
    volumes:
      - type: bind
        source: ./build/reports/tests/test
        target: /home/gradle/project/build/reports/tests/test

有一种更简单的获取日志的方法,无需额外的 docker-compose 文件。

首先,你应该找到停止容器的id。在您的终端中键入 docker ps -a 以获取所有容器的列表,包括状态为“已退出”的容器。找到您感兴趣的容器并复制容器 ID。

其次,将文件从容器复制到您的主机。输入 docker cp {复制的容器 ID}:home/gradle/src/build/reports/tests/test/ ./{您要在计算机上保存日志的位置}。

三、打开你之前指定的位置,打开index.html文件,享受完整的日志输出。