-1

Dockerfile で実行するコマンドが 2 つあります。1 つはテストの実行とログの生成用です。2 つ目は、テストの実行後に HTML レポートを生成するためのものです。私の Dockerfile は次のようになります。

FROM golang:1.13   
ADD . /app

WORKDIR /app

RUN go mod download

RUN go get -u "github.com/ains/go-test-html"

CMD ["make", "test", "$URL=", "$INTEGRATION=", "$TESTTYPE=", "$TAGS="]

CMD ["make", "html", "$HTML="]

そして、私の docker-compose.yml は次のようになります。

version: '3'

services:
  tests:
    image: int-testing-framework:latest
    environment:
      - URL=http://localhost:3000/
      - INTEGRATION=kapten
      - TESTTYPE=contract
      - TAGS=quotes bookings getTrip cancelTrip

  html:
    image: int-testing-framework:latest
    command: make html
    environment:
      - HTML=html
    links:
      - tests
    depends_on:
      - tests  

そして、私のログは次のようになります。

sudo docker-compose up
Creating network "integration_default" with the default driver
Starting integration_tests_1  ... done
Creating integration_html_1 ... done
Attaching to integration_tests_1, integration_html_1
html_1   | Generating HTML report
html_1   | go-test-html logs/[gotest_stdout_file] logs/[gotest_stderr_file] logs/output_file.html
html_1   | Test results written to '/app/logs/output_file.html'
integration_html_1 exited with code 0
tests_1  | Generating HTML report
tests_1  | go-test- logs/[gotest_stdout_file] logs/[gotest_stderr_file] logs/output_file.html
tests_1  | /bin/bash: go-test-: command not found
tests_1  | make: *** [Makefile:14: html] Error 127
integration_tests_1 exited with code 2

tests:サービスを完全に実行していません。テスト用のログが必要です。tests:最初に実行してログを生成する方法のアイデア。その後、HTMLレポートを生成しますか?

4

1 に答える 1