投稿

11月, 2019の投稿を表示しています

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

導入から簡単なテストコードの実行までの手順のまとめ セットアップ 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 <?php require('TestCase.php'); require('User.php'); use PHPUnit\Framework\TestCase; class UserTest extends TestCase { public function testName() { $params = [ [null, ''], ['', ''], ['Name', 'Name'], ]; foreach ($params as $param) { $user = new User(); $user->name = $param[0]; $name = $user->getName();

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

phpcsを社内独自のコーディン規約などにあわせてカスタマイズする方法をまとめます。 インストールディレクトリ 以下のディレクトリにインストールされてます。 ~/.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 28 13:36 src drwxr-xr-x 9 288 10 28 13:36 tests 設定ファイルを用意する CodeSniffer.conf.dist が雛形なのでこれをcpしてやればOKです。 cd ~/.composer/vendor/squizlabs/php_codesniffer/ cp CodeSniffer.conf.dist CodeSniffer.conf コーディングルールのカスタマイズ CodeSniffer.conf <?php $phpCodeSnifferConfig = array ( 'default_standard' => 'PSR2', 'repo

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

PHP_CodeSnifferとは決められたルールに沿ってPHPコードが書かれているかチェックしてくれるライブラリです。また、ルールに沿った形に整形してくれるPHP_CodeFixerもあります。 事前準備 セットアップ 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 ソースコードがコーディング規約を守っているかを判定する。 phpcbf ソースコードをコーディング規約に合わせて整形する。 対象ファイルを直接編集する。 ルールによっては修正できないものもある。 phpcs (PHP_CodeSniffer) ソースコード例 以下のソースコードを phpcs でチェックしてみます。 test.php <?php $is_echo = true; echo_phpcs($is_echo); function echo_phpcs($is_echo) { if ($is_echo) { echo "hello php_codesniffer!!\n"; } } 判定 $ ~/.composer/vendor/bin/phpcs test.php FILE: /phpcs/test.php ----------------------------------------------------------