tag:crieit.net,2005:https://crieit.net/users/kabueye/feed kabueyeの投稿 - Crieit Crieitでユーザーkabueyeによる最近の投稿 2021-08-30T17:14:25+09:00 https://crieit.net/users/kabueye/feed tag:crieit.net,2005:PublicArticle/17627 2021-08-30T17:14:25+09:00 2021-08-30T17:14:25+09:00 https://crieit.net/posts/GitHub-Actions-Jest GitHub ActionsでJestを叩くときのタイムゾーンと言語を設定する <p>GitHub リポジトリにプッシュした時、GitHub Actions のワークフローで自動的に Jest を走らせるようにしています。GitHub 上で自動的に走る Jest と、手動で直接叩く Jest との違いはタイムゾーンとロケールです。ここでは、GitHub 上で Jest を動かすときに環境変数としてタイムゾーンとロケールを指定する方法について説明します。</p> <h2 id="1. package.json にグローバル設定ファイルを指定する"><a href="#1.+package.json+%E3%81%AB%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%99%E3%82%8B">1. package.json にグローバル設定ファイルを指定する</a></h2> <p>以下のように設定を追記します。<code>jest-global-setup.js</code>に設定を記載すれば、環境変数から読み込まれた値を上書きできます。</p> <pre><code class="javascript"> "jest": { "globalSetup": "./jest-global-setup.js" }, </code></pre> <h2 id="2. jest-global-setup.js の中身を記載する"><a href="#2.+jest-global-setup.js+%E3%81%AE%E4%B8%AD%E8%BA%AB%E3%82%92%E8%A8%98%E8%BC%89%E3%81%99%E3%82%8B">2. jest-global-setup.js の中身を記載する</a></h2> <p>タイムゾーンと言語を指定します。</p> <pre><code class="javascript">module.exports = async () => { process.env.TZ = "Asia/Tokyo"; process.env.LANG = "en_US.UTF-8"; }; </code></pre> <h2 id="3. 動作結果を確認する"><a href="#3.+%E5%8B%95%E4%BD%9C%E7%B5%90%E6%9E%9C%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B">3. 動作結果を確認する</a></h2> <p>Jest のテストで出力される日時の文字列を確認したところ、言語が日本語から英語になっていることが確認できました。</p> <pre><code class="text"> - "date": "Wed Apr 01 2020 09:00:00 GMT+0900 (日本標準時)", + "date": "Wed Apr 01 2020 09:00:00 GMT+0900 (Japan Standard Time)", </code></pre> kabueye