PHPクラスを使用するコマンドラインツールを開発中です。 私はカバレッジのクラスをテストしました。PHPUnitテストカバレッジ付きコマンドラインスクリプト
今、コマンドラインで使用しているPHPスクリプトをテストしたいと思います。私は、コマンドラインスクリプトで実行された行をカバーすることができますどのように知っていただきたいと思い How do I test a command-line program with PHPUnit?
:
私は次のスレッドでコマンドラインをトリガする方法を発見しました。
私は、などのテストを作ってみました:
class CommandTest extends \PHPUnit_Framework_TestCase
{
protected static $command = './src/Command.php ';
protected static $testWorkingDir = 'tests/Command';
public function testCLIInstall()
{
$command = self::$command . ' --help';
$output = `$command`;
}
}
実行が正常に行われたが、何も「Command.php」ファイルでカバーされていません。
まず、可能ですか? それがそうであれば、coverコマンドラインスクリプトではどうしたらいいですか?
ありがとうございます。
最高のお礼、
Neoblaster
アップデート:私はGitHubの上で問題を開く:https://github.com/sebastianbergmann/phpunit/issues/2817
こんにちはMarv255、 私のコマンドラインスクリプトはPHPクラスではありませんが、それを使用しています。 対応するスクリプトを見つけてください:[Command.php](https://github.com/neooblaster/SYSLang/blob/master/src/Command.php?ts=3) これは完了していませんが、おそらくそれはコマンドラインインターフェイスを作成する間違った方法? 私は次の行をどうやって演奏するのか分かりません。 '(new Command($ argv)) - > run()' – Neoblaster
さらに、私が今までに見たphp用のコマンドラインスクリプトを作成する最善の方法は、[symfony console](https:// symfony。com/doc/current/components/console.html)。詳しくはリンクをたどってください。 – marv255