2016-07-24 20 views
1

PHPUnitからテストスイートの出力をキャプチャして、障害が発生しているかどうかを確認しようとしています。しかし、出力をbash変数に格納しようとすると、変数は常に空になります。PHPUnit - 変数へのBashスクリプトの出力

PHPUNIT_RESULT=`vendor/bin/phpunit` 

if [ -z "$PHPUNIT_RESULT" ]; then 
     echo "something there! 
fi 

ただし、変数は常に空であるようです。

EDIT:サンプル出力

PHPUnit 3.4.5 by Sebastian Bergmann. 

......F.......F 

Time: 0 seconds, Memory: 8.00Mb 

There was 1 failure: 

1) MyTest::testTemp 
Failed asserting that <boolean:false> is true. 

/path/to/myTest.php:68 

FAILURES! 
Tests: 4, Assertions: 5, Failures: 1, Incomplete: 1. 
+0

一般的に言えば、バックスティックを使用してbashでコマンド置換を実行することはお勧めできません。代わりに '$(...)'構文を使用してください。いずれの場合でも、 'vendor/bin/phpunit'の期待される出力は? –

+0

@SebastianLenartowicz情報に感謝します。私も '$()'で試してみましたが、同じ結果がありました。質問をサンプル出力で更新しました。マルチライン出力です。 – djt

+2

あなたはすでに[this](https://stackoverflow.com/questions/29164652/simple-check-of-phpunit-result/29165024#29165024)を見ていますか? – Matteo

答えて

0

任意のテストの失敗があるかどうは、PHPUnitはゼロ以外のステータスで終了します。これは$?変数で確認できます。

./vendor/bin/phpunit /path/to/myTest.php 

if [ $? -ne 0 ]; then 
     echo "failed test" 
fi 
+0

ありがとう。それはまさに私がやったこと – djt

関連する問題