아파치에서 움직인 Php의 코드 커버리지를 PhpStorm에서 보는 방법
전제 조건
준비
을
composer require phpunit/php-code-coverage
에서 떨어진다.
이하의 샘플은 PHP_CodeCoverage 2.2이므로 클래스명과 다르므로 최신의 README.md를 보고 조금 재작성하면 된다.
github 샘플에서 보여주는 느낌으로 index.php에서 움직이게합니다.
$coverage = new PHP_CodeCoverage();
$coverage->start('<name of test>');
CodeCoverageXX::$coverage=$coverage;
function shutdown()
{
$coverage = CodeCoverageXX::$coverage;
$coverage->stop();
$writer = new PHP_CodeCoverage_Report_Clover;
$writer->process($coverage, 'D:\link\var\coverage\\'.date('Ymd_His').'_'.getmypid(). '_Apach.xml');
}
register_shutdown_function('shutdown');
/** shutdownにわたすため **/
class CodeCoverageXX
{
/* @var PHP_CodeCoverage */
public static $coverage;
}
이 코드를 항상 움직이면 느리기 때문에 on/off를 할 수 있도록 해 두는 것
Apache에서 실행 후
Show Code Coverage Data로 얻기
+로 추가하여 체크박스를 붙여 표시한다.
많은 커버리지를 이것으로 표시하는 것은 힘들기 때문에 다음과 같이 재기록한다
직렬화하고 저장할 코드.
$coverage = new PHP_CodeCoverage();
$coverage->start('<name of test>');
CodeCoverageXX::$coverage=$coverage;
function shutdown()
{
$coverage = CodeCoverageXX::$coverage;
$coverage->stop();
file_put_contents('D:\link\var\coverage\\'.date('Ymd_His').'_'.getmypid().'_Apach.txt', serialize($coverage));
}
register_shutdown_function('shutdown');
여러 개의 직렬화 된 객체가 저장되기 때문에
다음 코드로 병합
<?php
require __DIR__.'/../../bootstrap/autoload.php';
$list = glob('D:/link/var/coverage/*.txt');
/* @var $coverage PHP_CodeCoverage */
$coverage = null;
foreach ($list as $filePath) {
echo $filePath . PHP_EOL;
$c = unserialize(file_get_contents($filePath));
if ($coverage === null) {
$coverage = $c;
} else {
$coverage->merge($c);
}
}
if ($coverage === null) {
$coverage = new PHP_CodeCoverage();
}
$writer = new PHP_CodeCoverage_Report_Clover;
$writer->process($coverage, 'D:\link\var\coverage\\'.date('Ymd_His').'_'.getmypid().'_Apach.xml');
foreach ($list as $filePath) {
unlink($filePath);
echo $filePath .'.....unlink'. PHP_EOL;
}
실행 후 Show Code Coverage Data로 취득하면 복수의 이벤트를 정리해 표시할 수 있다.
WebDriver에서 테스트를 실행하고 PhpStorm에서 볼 수 있습니다!
이건 편리(´,,・ω・,,`)
Reference
이 문제에 관하여(아파치에서 움직인 Php의 코드 커버리지를 PhpStorm에서 보는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mokoenator/items/24cddb8c11d3df12daa3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)