0

watchrPHP単体テストを実行するための小さなスクリプトを書いています。

現在のスクリプトは次を使用してテストを実行しsystem()、それらを色付きで表示します。

機能を追加しようとしてlibnotifyいますが、そのためには出力を解析して正規表現と照合する必要があるため、通知は緑または赤で表示されます。

system()出力%xは返されませんが、返されますが、puts p色が表示されないため、どのテストが失敗したかをすばやく確認する必要があります。1 つのオプションは、テストを 2 回実行することです。1 回目はターミナル ウィンドウに表示するため、2 回目はどの通知を表示するかを確認するためですが、私はそれを避けたいと思います。

4

1 に答える 1

1

puts色を表示します。問題は%x、PHP テスト ランナーを使用して実行すると、ターミナルで実行されていないと見なされるため、色付きの出力がオフになる可能性が高いことです。

run_php_test | lessシェルで行う場合も同じことが起こります。これを修正するには、PHP テスト ランナーで色付きの出力を強制する必要があります。

編集

サブプロセスを実行する最も簡単な方法pty:

require 'pty'
puts PTY.spawn('run_php_test')[0].read
于 2012-06-24T14:49:52.633 に答える