タグ: PHPUnit

  • phpのテスト環境 – Windows

    メモ書き程度で恐縮ですが。

    ローカル環境の場合

    レシピ
    – Windows10
    – PHP-7.4.x
    – phpunit
    – Git for Windows
    – VS Code

    https://windows.php.net/download/
    ここからNon Thread Safeのzipファイルをダウンロードして展開し、C:\php へ配置。

    環境変数(システム -> 詳細設定 -> 環境変数)を開いてユーザーもしくはシステムの環境変数:PATH に C:\php を追加。

    合わせて git の環境も整えておく。

    (さらに…)
  • Docker の WordPress で PHPUnit を試してみる

    先日の WordPress Meetup で Docker 環境を試しました。
    ゆるウェブもくもく会 #1 @ミュゼ灘屋

    当日は phpunit コマンドが実行できることを確認して終了。
    その後、実際にプラグインを追加してテストが通るところまで確認できたので、いくつか試したことをメモっておきます。

    まずはこちら。Docker公式のドキュメント。
    Quickstart: Compose and WordPress
    これでローカルの起動までは簡単にできるのですが、WordPressのファイルがホスト側にマウントされないので、
    Dockerにシェルで入って操作、編集する必要があります。

    次に参考にさせていただいた記事。
    Docker ComposeでWordPressを構築する
    こちらだと docker-compose.yml を置いた場所に /html/ というフォルダができるので、ここから WordPress の各種ファイル操作ができます。

    ただしこの環境だと phpunit まわりが入っていないので、必要なコマンド群を手作業でインストールする必要があります。
    WordPressのイメージのカスタマイズで参考にした記事がこちら。

    Custom WordPress Docker Setup

    Dockerfile を編集して必要なコマンドをインストールすれば良さそう。
    と調べているうちに、必要なものが一通り揃ったものがありました。感謝。

    akahigeg/wordpress-plugin-unittest-on-docker – GitHub

    こちらのソース一式をクローンなりダウンロードなりして、

    $ docker-compose up -d
    

    とすれば、phpunit用にカスタマイズされたWordPressのイメージで起動できます。
    Dockerfileを編集した場合は、

    $ docker-compose down
    

    して、

    $ docker-compose build
    $ docker-compose up -d
    

    という操作をすれば良さそうです。

    少し気になるのが Docker 内のファイルのパーミッション。
    この環境だと my-plugin の owner が root になるようで、

    $ docker-compose exec --user www-data wordpress bash
    

    このようなユーザー指定で操作を試しているところです。

    補足

    site health を開いて、不要なテーマを削除しようとすると FTP ログインが求められたので、
    wp-config.phpを開いて、

    define('FS_METHOD','direct');
    

    を追加しました。

  • ローカル環境からのメール通知など – WordPress

    先日、macOSをHigh Sierraにアップデートしてそれに合わせてWordPressのテスト環境(VCCW)を作り直しました。
    ざっとですが、メモ書き。

    VirtualBox-5.1.30
    Download VirtualBox
    2017年10月19日時点で VirtualBox-5.2.0 がリリースされていますが、vagrant-2.0 は VirtualBox-5.2 には未対応なので、5.1系にしておきます。

    ちなみに VirtualBox-5.2 をインストールした状態で vagrant up とすると、下記のエラーメッセージが表示されて起動できません。

    The provider ‘virtualbox’ that was requested to back the machine ‘vccw.test’ is reporting that it isn’t usable on this system. Thereason is shown below:

    Vagrant has detected that you have a version of VirtualBox installed
    that is not supported by this version of Vagrant. Please install one of the supported versions listed below to use Vagrant:

    4.0, 4.1, 4.2, 4.3, 5.0, 5.1

    A Vagrant update may also be available that adds support for the version you specified. Please check www.vagrantup.com/downloads.html to download the latest version.


    $ vagrant --version
    Vagrant 2.0.0

    VCCWはこちら
    現時点で vccw-3.9.0.zip がダウンロードできます。
    zipファイルを展開して適当な場所に移動。

    vagrant up してブラウザで、
    http://vccw.test/
    を開いて WordPress が利用できることを確認します。

    welcome to the vccw
    welcome to the vccw

    次にテスト環境(PHPUnit)の確認。
    何らかのプラグインを開発する前提です。
    こちらの記事を参考にさせていただきました。m(__)m
    WP-CLI+PHPUnitを使ったWordPressプラグインのユニットテスト(2)


    $ vagrant ssh
    $ cd /var/www/
    $ wp scaffold plugin myplugin
    $ cd /var/www/html/wp-content/plugins/myplugin
    $ bash bin/install-wp-tests.sh wordpress_test root 'wordpress' localhost latest

    これで PHPUnit のテスト環境が整うので、

    $ phpunit
    ...
    OK (1 test, 1 assertion)

    となればOK。

    次に、ローカル環境でWordPressのユーザアカウントを登録する場合などの、
    メール通知が動くようにします。
    利用するプラグインは、
    Cimy Swift SMTP
    ロリポップレンタルサーバーのメールサーバーを利用する場合の設定です。

    Cimy Swift SMTP for Lolipop
    Cimy Swift SMTP for Lolipop

    SMTP Server: smtp.lolipop
    Port: 465(Use for SSL/GMAIL)
    メールアカウント、パスワードは適宜入力
    Use SSL or TLS?: SSL
    [Save Changes]ボタンをクリックして設定を保存。
    Test Connectionで自分のメールアドレスにメールが届くことを確認します。