CircleCIでローカルでcircleci local execute --job build
した場合はテスト成功するが、オンライン(CircleCIのブラウザ上で)時はテストが失敗してしまいます。(githubのリポジトリをCircleCIと連携しています)
失敗するテストはLaravelのAssertSeeを使用しているテストで、レスポンスが500エラーになっているためテストに失敗しているようです。
ローカルとオンラインでなぜ結果が違ってしまうのか分かりません。
よろしくお願いいたします。
# オフラインでの結果 ====>> php ./backend/vendor/bin/phpunit --configuration=./backend/phpunit.xml #!/bin/bash -eo pipefail php ./backend/vendor/bin/phpunit --configuration=./backend/phpunit.xml PHPUnit 9.5.14 by Sebastian Bergmann and contributors. .............................................. 46 / 46 (100%) Time: 00:20.216, Memory: 76.50 MB OK (46 tests, 66 assertions) ====>> Slack - Setting Success Condition #!/bin/bash -eo pipefail echo 'export SLACK_BUILD_STATUS="success"' >> $BASH_ENV
# オンラインでの結果 #!/bin/bash -eo pipefail php ./backend/vendor/bin/phpunit --configuration=./backend/phpunit.xml PHPUnit 9.5.14 by Sebastian Bergmann and contributors. ...................................FFF..F..FFF 46 / 46 (100%) Time: 00:08.344, Memory: 80.50 MB There were 7 failures: 1) Tests\Feature\DesignerController\IndexTest::test_管理者スタッフがログインしている状態でデザイナー一覧ページを閲覧出来る Failed asserting that '<!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="utf-8">\n <meta name="viewport" content="width=device-width, initial-scale=1">\n \n <title>Server Error</title>\n \n <!-- Fonts -->\n <link rel="preconnect" href="https://fonts.gstatic.com">\n <link href="https://fonts.googleapis.com/css2?family=Nunito&display=swap" rel="stylesheet">\n \n <style>\n // 省略 </style>\n \n <style>\n body {\n font-family: 'Nunito', sans-serif;\n }\n </style>\n </head>\n <body class="antialiased">\n <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center sm:pt-0">\n <div class="max-w-xl mx-auto sm:px-6 lg:px-8">\n <div class="flex items-center pt-8 sm:justify-start sm:pt-0">\n <div class="px-4 text-lg text-gray-500 border-r border-gray-400 tracking-wider">\n 500 </div>\n \n <div class="ml-4 text-lg text-gray-500 uppercase tracking-wider">\n Server Error </div>\n </div>\n </div>\n </div>\n </body>\n </html>\n ' contains "デザイナー一覧". ・・・
# config.yml version: 2.1 orbs: aws-cli: circleci/aws-cli@2.0 slack: circleci/slack@3.3.0 jobs: build: docker: - image: circleci/php:8.0-fpm-buster-node-browsers environment: DB_HOST: 127.0.0.1 DB_PORT: 3306 DB_DATABASE: laravel_local DB_USERNAME: phper DB_PASSWORD: secret - image: circleci/mysql:8.0-ram environment: MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: laravel_local MYSQL_USER: phper MYSQL_PASSWORD: secret # 全体の環境設定 environment: APP_ENV: testing APP_KEY: {appkey} FILESYSTEM_DRIVER: s3 AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY AWS_DEFAULT_REGION: {region} AWS_BUCKET: $AWS_BUCKET steps: - checkout - run: name: Setting Access Permissions command: | chmod -R 777 ./backend/storage chmod -R 777 ./backend/bootstrap/cache - run: name: Install and configure the required packages command: | sudo apt-get -y update && \ sudo apt-get -y install git libicu-dev libonig-dev libzip-dev unzip locales libfreetype6-dev libjpeg62-turbo-dev libpng-dev && \ sudo apt-get clean && \ sudo rm -rf /var/lib/apt/lists/* && \ sudo docker-php-ext-install intl pdo_mysql zip && \ sudo docker-php-ext-configure gd --with-freetype --with-jpeg && \ sudo docker-php-ext-install -j$(nproc) gd exif # mysql - run: name: Get ready for mysql command: | dockerize -wait tcp://localhost:3306 -timeout 1m # composer - restore_cache: key: composer-v1-{{ checksum "./backend/composer.lock" }} - run: composer install -n --prefer-dist --working-dir=./backend - save_cache: key: composer-v1-{{ checksum "./backend/composer.lock" }} paths: - ./backend/vendor # node - restore_cache: keys: - npm-v3-{{ checksum "./backend/yarn.lock" }} - npm-v3- - run: yarn install --cwd ./backend - save_cache: key: npm-v3-{{ checksum "./backend/yarn.lock" }} paths: - ./backend/node_modules - run: php ./backend/artisan migrate - run: php ./backend/vendor/bin/phpunit --configuration=./backend/phpunit.xml - slack/status: success_message: ':circleci-pass: $CIRCLE_BRANCH のテストが完了しました\n:github_octocat: User:$CIRCLE_USERNAME' failure_message: ':circleci-fail: $CIRCLE_BRANCH のテストが失敗しました\n:github_octocat: User:$CIRCLE_USERNAME' webhook: '${SLACK_WEBHOOK}' build_image: // 省略 deploy: // 省略 workflows: version: 2 build_deploy: jobs: - build - build_image: requires: - build filters: branches: only: master - deploy: requires: - build_image filters: branches: only: master
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。