質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

Q&A

解決済

1回答

958閲覧

CircleCIでローカルでは成功するLaravelのAssertSeeのテストがオンラインで失敗してしまう

bws

総合スコア98

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

0グッド

0クリップ

投稿2022/02/26 02:56

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

デバックを trueにして詳しくエラーを見てみたところ、wordpressのRESTAPIからfile_get_contents()でデータを取得している部分で403エラーになっていました。ローカルからなら大丈夫でしたが、CircleCIのオンラインからだと失敗する仕様なのかもしれません。
file_get_contents()のエラー処理を追加することでCircleCIの本番でもテスト通過することができました。

投稿2022/02/26 03:40

bws

総合スコア98

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問