【PHP】PHPUnitを使う(初期セットアップとかんたんな使い方)

導入から簡単なテストコードの実行までの手順のまとめ 前提条件 composerを使ってインストールするので、composerが必要 セットアップ $ composer global require "phpunit/phpunit:*" $ ~/.composer/vendor/bin/phpunit --version PHPUnit 7.5.17 by Sebastian Bergmann and contributors. インストールされるディレクトリ cd ~/.composer/vendor/phpunit/phpunit テストコードの書き方 ここでは名前を保持するUserクラスのテストコードを書いてみる User.php (テスト対象のモジュール) <?php class User { public $name; public function getName() { return (string)$this->name; } } UserTest.php (テストコード例) TestCaseクラスを継承する(場所は以下) ~/.composer/vendor/phpunit/phpunit/src/Framework/TestCase.php testXXXXというメソッドを用意して、その中…

続きを読む

【PHP】PHP_CodeSnifferを使う(コーディングルールのカスタマイズ)

社内独自のコーディン規約などにあわせてカスタマイズする方法 インストールされるディレクトリ 以下のディレクトリにインストールされている ~/.composer/vendor/squizlabs/php_codesniffer/ -rw-r--r-- 1 638 10 28 13:36 CONTRIBUTING.md -rw-r--r-- 1 187 11 26 12:08 CodeSniffer.conf.dist -rw-r--r-- 1 6399 10 28 13:36 README.md -rw-r--r-- 1 10085 10 28 13:36 autoload.php drwxr-xr-x 6 192 10 28 13:36 bin -rw-r--r-- 1 1083 10 28 13:36 composer.json -rw-r--r-- 1 1533 10 28 13:36 licence.txt -rw-r--r-- 1 6280 10 28 13:36 phpcs.xml.dist -rw-r--r-- 1 7054 10 28 13:36 phpcs.xsd -rw-r--r-- 1 340 10 28 13:36 phpstan.neon drwxr-xr-x 5 160 10 28 13:36 scripts drwxr-xr-x 16 512 10 …

続きを読む

【PHP】PHP_CodeSnifferを使う(初期セットアップとかんたんな使い方)

PHP_CodeSnifferとは決められたルールに沿ってPHPコードが書かれているかチェックしてくれる。また、ルールに沿った形に整形してくれるPHP_CodeFixerもある。 前提条件 composerを使ってインストールするので、composerが必要 セットアップ $ composer global require "squizlabs/php_codesniffer=*" ~/.composer 配下に以下がインストールされる $ ~/.composer/vendor/bin/phpcs --version PHP_CodeSniffer version 3.5.2 (stable) by Squiz (http://www.squiz.net) $ ~/.composer/vendor/bin/phpcbf --version PHP_CodeSniffer version 3.5.2 (stable) by Squiz (http://www.squiz.net) phpcs --- ソースコードがコーディング規約を守っているかを判定する。 phpcbf --- ソースコードをコーディング規約に合わせて整形する。 対象ファイルを直接編集する。 ルールによっては修正できないものもある。 phpcs (PHP_CodeSniffer) ソースコード例 : test.php 以下…

続きを読む

【GAS】Logger.logとconsole.logの違い

前回 作成したスクリプトの定期実行された際のログが記録されないのでなんでか調べてみました。 実験用スクリプト 試しにコンソールにも出力してみる function myFunction() { Logger.log('Hello World!! (Logger)'); console.log('Hello World!! (console)'); } デバッグログ 「Ctrl」+「Enter」で実行した結果が以下 実行ログ サイドメニューの実行数から当該のタスクを確認したのが以下 console.log により出力したログが、実行ログとして記録されるようです。Loggerはデバッグ時しか出ないのでここは使い分けというか注意が必要...

続きを読む

Google Apps Scriptを使ってみた

以前から気になっていましたが、個人的に今一番注目しているサービス、「Google Apps Script(以下GAS)」を使ってみたのでまとめておきます。 Google Apps Scriptとは Googleドライブ上で実行されるScriptで、様々なGoogleサービスと連携したり外部サービスにFetchできる。 また、その実行に関してはトリガーイベントやスケジューリングの設定が可能 コードはJavascriptがベース(npmは残念ながら非対応、Node.jsは使えない) 制約 主な制約については以下の記事に大変見やすくまとめられています。 https://shunsuk.com/gas-quotas/ 個人的に気になっていたのは、無料アカウントでの以下の点 URL Fetch コール数 20,000 / 日 URL Fetch レスポンスサイズ 50MB / コール URL Fetch POST サイズ 50MB / コール 無料枠でこれだけあれば十分、制約なんてあってないようなもんですね。 事前準備 Chromeでウェブストアから拡張機能を追加 https://chrome.google.com/webstore/detail/google-apps-script/eoieeedlomnegifmaghhjnghhmcldobl?hl=ja コードから実行まで https://script.google…

続きを読む

スポンサーリンク