我目前正在进行Phpunit测试,我想知道是否有可能获得测试摘要并将其存储到变量中,以便我可以通过电子邮件发送它。
Time: 11.92 minutes, Memory: 20.00Mb
There were 4 failures:
1) BingTestTool::testPushCampaign_without_status
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-''
+'Active'
这是phpunit在控制台中输出的结果,我可以将它存储到变量中吗?所以我可以在测试运行后发送电子邮件
答案 0 :(得分:1)
如果您在控制台中运行phpunit
,则只需将其输出传输到mail
:
$ phpunit | mail test@example.org -s 'Results of phpunit'
-s
命令行参数允许设置电子邮件Subject
。
如果phpunit
的执行只是较长进程(例如部署)的一个步骤,并且您需要输出进行某些处理,则可以将phpunit
命令括在反引号中({ {1}})或``
并将表达式用作作业的右侧:
$()
或
RESULT="`phpunit`"
表达式周围的双引号需要将输出(多行字符串)保持为单个单词,并阻止shell解释它。等号周围必须没有空格。
现在您可以显示它:
RESULT="$(phpunit)"
或将其传递给各种Unix程序的输入。例如:
echo "$RESULT"
将变量echo "$RESULT" | grep '^Time:' | cut -f1 -d,
的内容提供给$RESULT
,仅提取并输出以grep
开头的行;然后将Time:
的输出通过管道发送到grep
,以仅使用cut
作为分隔符来保留第一列。