用PHPUnit用控制台输入测试php文件?

时间:2018-06-14 12:29:35

标签: php phpunit

我知道如何测试类和函数,但我想知道如何测试文件并通过控制台将参数传递给该文件。

例如,我index.php使用num通过控制台需要1 fgets(STDIN)整数index.php。我可以制作PHPUnit文件并测试 var btn = document.querySelector('#playbutton'); btn.addEventListener('click', function(){ setTimeout(function(){ if (btn.clicked == true){ alert("Cmon dude, chill a little"); } }, 1000); }); 吗?

1 个答案:

答案 0 :(得分:1)

单位测试可以是地球上的任何任何代码。在您的情况下 - 使用echo bash命令将数据输入到脚本。 (当然取决于操作系统如何通过命令shell传递数据):

use PHPUnit\Framework\TestCase;

class ConsoleAppTest extends TestCase
{
    public function testIndexFile()
    {
       $out = shell_exec("echo 123 | php index.php");
       // check standard output or some DB modifications if script mangles DB
       $is_ok = verify_results($out);
       $this->assertSame($is_ok, true);
    }
}