phpunitでprivateメソッドのテストをする

phpunitでclassのprivate methodをテストしたいときはPHP: ReflectionMethod – Manualを使うとできます

SampleクラスのisValidメソッドへ引数を渡してテストするなら

$class = new Sample();
$arr = ['arg' => 100];
$method = new ReflectionMethod(get_class($class), 'isValid');
$method->setAccessible(true);
$result = $method->invoke($this->csv, $arr);
$this->assertTrue($result);

といった形です

phpでディレクトリを消す

phpでディレクトリを消そうとすると PHP: rmdir – Manual が使えますが、ディレクトリの中にファイルがあると消せません
そこで、消すためには

$dir = './tests';
if (file_exists($dir)) {
    array_map('unlink', glob($dir.'/*.*'));
    rmdir($dir);
}

とunlinkとglobを使ってやるとよさそうです

wp-cron.phpを止めてcronで動かす

New Relicを見ていて wp-cron.php で時間がかかっているので、止めてcronを使うようにしてみました
wp-cronを有効にしておくとアクセスのたびに処理が走るようです

WordPressのインストールディレクトリへ行って、wp-config.phpを探し

$ vim wp-config.php

define('DISABLE_WP_CRON', true);

これでwp_cronが止まるらしい
あとは、linuxのcronを使って

$ crontab -e

15 * * * * curl http://(your domain)/wp-cron.php > /home/user/curl.log 2>&1

こんな感じで対応しました
wp-cron.phpでかかる時間がどうなるか様子を見てみます

Androidでねこあつめのデータを移行してみた

Nexus5からNexus5xへねこあつめのデータを移行してみました

勝手にやってるだけなので、自己責任で
Androidアプリを作る環境があったので、それを使っています

Nexus5での準備:
PCとUSBでつないで、開発者モードでUSBデバッグをONにします

パソコン側でバックアップ
adbを探します、Android SDKの場所内のplatform-tools内に有りました
コマンドを実行します

$ ./Android/Sdk/platform-tools/adb backup -f nekoatsume.ab -apk jp.co.hit_point.nekoatsume

最後のドメインは
ねこあつめ – Google Play の Android アプリのアドレス
https://play.google.com/store/apps/details?id=jp.co.hit_point.nekoatsume&hl=ja
のidの部分です

端末でバックアップの許可がでるので、バックアップを進めます
これでしばらくまてば、nekoatsume.abがパソコン側へバックアップされます

Nexus5xへインストール:
バックアップを復元します
PCとUSBをつないで、、開発者モードでUSBデバッグをONにします
restoreコマンドを叩きます

$ ./Android/Sdk/platform-tools/adb restore nekoatsume.ab

端末で復元を許可して、しばらくまつとインストールされます
無事Google Play Storeでアップデートもできたし大丈夫そうです

最後にNexus5を工場出荷時にリセットしました
Nexus 端末を出荷時の設定にリセットする – Nexus ヘルプ

売るか人に譲るかしようと思います